Gon*_*488 5 javascript reactjs chart.js
我正在使用 React ChartJS 2 创建一些图表,但我想在它们顶部显示一个带有百分比的标签,当我将鼠标悬停在它们上方时显示实际数字。我发现您可以使用选项对象上的上下文执行类似的操作。
var options = {
tooltips: {
enabled: false
},
plugins: {
datalabels: {
formatter: (value, ctx) => {
let datasets = ctx.chart.data.datasets;
if (datasets.indexOf(ctx.dataset) === datasets.length - 1) {
let sum = datasets[0].data.reduce((a, b) => a + b, 0);
let percentage = Math.round((value / sum) * 100) + '%';
return percentage;
} else {
return percentage;
}
},
color: '#fff',
}
}
};
var ctx = document.getElementById("pie-chart").getContext('2d');
var myChart = new Chart(ctx, {
type: 'pie',
data: {
datasets: data
},
options: options
});
Run Code Online (Sandbox Code Playgroud)
像这样,但我的问题是我无法找到使用选项内上下文的方法。
有人知道该怎么做吗?
您不必手动将其传递context给数据标签的formatter函数,因为插件本身会处理这个问题。
这是带有上面指定的选项的饼图的工作示例。
context但是,如果您想在其他一些要传递给 的函数中访问图表options,那么您可以使用 来通过图表实例获取它this.chart.ctx。
var options = {
animation: {
onComplete: function () {
var chartInstance = this.chart;
var ctx = chartInstance.ctx; // chart context
}
}
};
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
3327 次 |
| 最近记录: |