我有Chart.js和图表数据,格式如下:
chartData = [
{ data: 2, label: 'Label 1' },
{ data: 10, label: 'Label 2' },
{ data: 40, label: 'Label 3' },
];
如何解析数据以获得如下所示的经典饼图:
我已经尝试遵循documentation,但它是不可用的。
这是我的模板:
<canvas baseChart
[datasets]="chartData"
[type]="pieChartType"
[options]="pieChartOptions">
</canvas>
这是我的答案:
chartData = [
{ data: 2, label: 'Label 1' },
{ data: 10, label: 'Label 2' },
{ data: 40, label: 'Label 3' },
];
public pieChartOptions: ChartConfiguration['options'] = {
responsive: true,
plugins: {
legend: {
display: true,
position: 'top',
},
datalabels: {
formatter: (value, ctx) => {
if (ctx.chart.data.labels) {
return ctx.chart.data.labels[ctx.dataIndex];
}
},
},
}
};
1条答案
按热度按时间lb3vh1jj1#
饼图数据结构文档中提到:
数据集需要包含一个数据点数组。数据点应该是一个数字,
您需要遵循其结构如下:
可以转换
chartData
以匹配其结构:在
baseChart
HTML元素中,将pieChartLabels
传递给[labels]
属性。Demo (CustomPieComponent) @ StackBlitz