| `callback` | `function` | | | Callback function to transform data labels to point labels. The default implementation simply returns the current string.
| `color` | [`Color`](../../general/colors.md) | Yes | `Chart.defaults.color` | Color of label.
| `font` | `Font` | Yes | `Chart.defaults.font` | See [Fonts](./general/fonts.md)
+| `padding` | `number` | Yes | 5 | Padding between chart and point labels.
The scriptable context is described in [Options](../../general/options.md#scale) section.
let i, textSize, pointPosition;
const labelSizes = [];
+ const padding = [];
const valueCount = scale.chart.data.labels.length;
for (i = 0; i < valueCount; i++) {
- pointPosition = scale.getPointPosition(i, scale.drawingArea + 5);
const opts = scale.options.pointLabels.setContext(scale.getContext(i));
+ padding[i] = opts.padding;
+ pointPosition = scale.getPointPosition(i, scale.drawingArea + padding[i]);
const plFont = toFont(opts.font);
scale.ctx.font = plFont.string;
textSize = measureLabelSize(scale.ctx, plFont.lineHeight, scale._pointLabels[i]);
for (i = 0; i < valueCount; i++) {
// Extra pixels out for some label spacing
const extra = (i === 0 ? tickBackdropHeight / 2 : 0);
- const pointLabelPosition = scale.getPointPosition(i, outerDistance + extra + 5);
+ const pointLabelPosition = scale.getPointPosition(i, outerDistance + extra + padding[i]);
const angle = toDegrees(scale.getIndexAngle(i));
const size = labelSizes[i];
// Function - Used to convert point labels
callback(label) {
return label;
- }
+ },
+
+ // Number - Additionl padding between scale and pointLabel
+ padding: 5
}
};
--- /dev/null
+module.exports = {
+ config: {
+ type: 'radar',
+ data: {
+ labels: [
+ ['VENTE ET', 'COMMERCIALISATION'],
+ ['GESTION', 'FINANCIÈRE'],
+ 'NUMÉRIQUE',
+ ['ADMINISTRATION', 'ET OPÉRATION'],
+ ['RESSOURCES', 'HUMAINES'],
+ 'INNOVATION'
+ ],
+ datasets: [
+ {
+ radius: 12,
+ backgroundColor: '#E43E51',
+ label: 'Compétences entrepreunariales',
+ data: [3, 2, 2, 1, 3, 1]
+ }
+ ]
+ },
+ options: {
+ plugins: {
+ legend: false,
+ tooltip: false,
+ filler: false
+ },
+ scales: {
+ r: {
+ min: 0,
+ max: 3,
+ pointLabels: {
+ padding: 30
+ },
+ ticks: {
+ display: false,
+ stepSize: 1,
+ maxTicksLimit: 1
+ }
+ }
+ },
+ responsive: true,
+ maintainAspectRatio: false
+ }
+ },
+ options: {
+ spriteText: true
+ }
+};