Javascript Chart.js如何修改现有图例
如何在Chart.js中修改现有图例 我见过创建自定义HTML图例的复杂方法(使用Javascript Chart.js如何修改现有图例,javascript,chart.js,Javascript,Chart.js,如何在Chart.js中修改现有图例 我见过创建自定义HTML图例的复杂方法(使用generateLegend或legendCallback),以及一个简单的options.legend.legendText方法,它应该接受一个数组,但没有看到版本1的更改 我希望在默认图例中添加文字: type: 'doughnut', data: { datasets: [{ data: series, }], labels: labels,
generateLegend
或legendCallback
),以及一个简单的options.legend.legendText
方法,它应该接受一个数组,但没有看到版本1的更改
我希望在默认图例中添加文字:
type: 'doughnut',
data: {
datasets: [{
data: series,
}],
labels: labels,
},
options: {
legend: {
legendText = labels.map((label, index) => `${label} - ${series[index]}%`);
}
}
编辑:
我注意到,如果图表被重新绘制(例如,如果浏览器窗口被调整大小),图例将丢失额外的文本
我已经修改了作为内联插件的方法,以便在绘制图例之前修改标签
对象
let labels=['a','b','c','d'],
系列=[4,2,1,3],
myChart=新图表(document.getElementById('Chart'){
键入:“甜甜圈”,
数据:{
标签:标签,
数据集:[{
数据:系列,
背景颜色:[“红色”、“蓝色”、“绿色”、“橙色”]
}]
},
选项:{
MaintaintAspectRatio:false
},
插件:[{
后布局:功能(图表){
让total=chart.data.datasets[0]。data.reduce((a,b)=>{
返回a+b;
});
chart.legend.legendItems.forEach(
(标签)=>{
让value=chart.data.dataset[0].data[label.index];
label.text+='-'+(值/总数*100).toFixed(0)+'%
退货标签;
}
)
}
}]
});代码>