5
我正在使用Chart.js在我的網站上繪製一系列圖表,並且我已經編寫了一個輔助方法來輕鬆繪製不同的圖表:向Chart.js中的圓環圖添加標籤顯示每個圖表中的所有值
drawChart(ctxElement, ctxType, ctxDataLabels, ctxDataSets, midLabel) {
var ctx = ctxElement;
var data = {
labels: ctxDataLabels,
datasets: ctxDataSets
};
Chart.pluginService.register({
beforeDraw: function(chart) {
var width = chart.chart.width,
height = chart.chart.height,
ctx = chart.chart.ctx;
ctx.restore();
var fontSize = (height/114).toFixed(2);
ctx.font = fontSize + "em sans-serif";
ctx.textBaseline = "middle";
var text = midLabel,
textX = Math.round((width - ctx.measureText(text).width)/2),
textY = height/2;
ctx.fillText(text, textX, textY);
ctx.save();
}
});
var chart = new Chart(ctx, {
type: ctxType,
data: data,
options: {
legend: {
display: false
},
responsive: true
}
});
}
用於drawChart()方法的最後一個參數包含應在圖表的中間添加的標籤。該Chart.pluginService.register
部分是繪製標籤的代碼。的問題是,當我執行drawChart方法調用多次(在我的情況三次),並提供在該方法中執行的每個圖表的標記,所有的三個標籤顯示在每個圖上彼此的頂部。我需要相應的圖表中顯示每個標籤。所有其他參數都正確處理,除了標籤。
我該如何做到這一點?
最好的,謝謝! –