【发布时间】:2017-07-24 14:32:10
【问题描述】:
我已成功显示来自Chart.js 的饼图。如果我将鼠标悬停在给定的切片上,它还会返回标签以及值。
但是,该值对用户不是很友好;我想把它转换成另一个值,让用户更容易理解。
如何访问给定切片的工具提示值?我似乎只能得到它们。
示例代码:
this.examplePieChart = new Chart(ctx1,{
type: 'pie',
data: {
labels: byteLabels,
datasets: [
{
label: 'bytes',
data: BytesArr,
backgroundColor: defaultChartColors,
},
]
},
options: {
tooltips: {
mode: 'label',
}
}
});
我可以访问工具提示数据的所有值,我的尝试是这样的:
tooltips: {
mode: 'label',
callbacks: {
label: function (tooltipItem, data) {
let tmpArr = [];
for(let i = 0; i < data.datasets[0].data.length; i++){
tmpArr.push(data.datasets[0].data[i].fileSize());
}
return tmpArr;
}
}
}
我在哪里运行 fileSize() 将字节转换为 MiB/KiB。它可以工作 - 但是,当悬停切片时,它将在任何给定切片上显示所有工具提示,而不是我悬停的那个。
如何访问饼图的单个给定切片的数据值并对其进行操作?目前,我只能使用返回整个数组的data 值来访问它们。
没有上面的回调,我成功地显示了label: value,但我想为每个切片操作这个特定的值——不是一次所有的值:o)
【问题讨论】:
标签: javascript reactjs charts chart.js