Warning: file_get_contents(/data/phpspider/zhask/data//catemap/5/fortran/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript Chart.js如何修改现有图例_Javascript_Chart.js - Fatal编程技术网

Javascript Chart.js如何修改现有图例

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,

如何在Chart.js中修改现有图例

我见过创建自定义HTML图例的复杂方法(使用
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)+'%
退货标签;
}
)
}
}]
});