Title
How to customize the labels of a pie chart in VChart?
Description
Can the labels of a VChart pie chart be customized? I want to add the values to the labels.
Solution
The label configuration of a pie chart is in the label
field: https://visactor.io/vchart/option/pieChart#label. There is a property called formatMethod
in this field, which is used to format the label content: https://visactor.io/vchart/option/pieChart#label.formatMethod. By configuring a function, the label can be formatted. The function receives parameters including the original text and data, and returns a string representing the formatted label text.
Code Example
const spec = {
type: 'pie',
data: [
{
id: 'id0',
values: [
{ type: 'oxygen', value: '46.60' },
{ type: 'silicon', value: '27.72' },
{ type: 'aluminum', value: '8.13' },
{ type: 'iron', value: '5' },
{ type: 'calcium', value: '3.63' },
{ type: 'sodium', value: '2.83' },
{ type: 'potassium', value: '2.59' },
{ type: 'others', value: '3.5' }
]
}
],
outerRadius: 0.8,
valueField: 'value',
categoryField: 'type',
title: {
visible: true,
text: 'Statistics of Surface Element Content'
},
legends: {
visible: true,
orient: 'left'
},
label: {
visible: true,
formatMethod: (text, datum) => {
return `${text}: ${datum.value}`
}
},
tooltip: {
mark: {
content: [
{
key: datum => datum['type'],
value: datum => datum['value'] + '%'
}
]
}
}
};
const vchart = new VChart(spec, { dom: CONTAINER_ID });
vchart.renderSync();
// Just for the convenience of console debugging, DO NOT COPY!
window['vchart'] = vchart;
Result
After running the code, the labels can be formatted.
Online demo: https://codesandbox.io/p/sandbox/pie-label-format-9k8wlr?file=%2Fsrc%2Findex.ts%3A48%2C2
Related Documents
VChart official website: https://visactor.io/vchart/
formatMethod documentation: https://visactor.io/vchart/option/pieChart#label.formatMethod
VChart GitHub: GitHub - VisActor/VChart: VChart, more than just a cross-platform charting library, but also an expressive data storyteller.
Top comments (0)