plugins APIを使用してchart.jsでこれを行うことができます。ここでは、チャートをレンダリングするときに、すべてのデータポイントのラベルを表示するためにプロダクションで使用するプラグインの例を示します。
現在、棒グラフのみを使用しているため、折れ線グラフの一部を調整する必要があります。また、私はshowDatapoints
という新しいオプションプロパティを追加しました。このプロパティは、特定のグラフでプラグインを使用するためにtrueに設定できます。
Chart.plugins.register({
afterDraw: function(chartInstance) {
if (chartInstance.config.options.showDatapoints) {
var helpers = Chart.helpers;
var ctx = chartInstance.chart.ctx;
var fontColor = helpers.getValueOrDefault(chartInstance.config.options.showDatapoints.fontColor, chartInstance.config.options.defaultFontColor);
// render the value of the chart above the bar
ctx.font = Chart.helpers.fontString(Chart.defaults.global.defaultFontSize, 'normal', Chart.defaults.global.defaultFontFamily);
ctx.textAlign = 'center';
ctx.textBaseline = 'bottom';
ctx.fillStyle = fontColor;
chartInstance.data.datasets.forEach(function (dataset) {
for (var i = 0; i < dataset.data.length; i++) {
var model = dataset._meta[Object.keys(dataset._meta)[0]].data[i]._model;
var scaleMax = dataset._meta[Object.keys(dataset._meta)[0]].data[i]._yScale.maxHeight;
var yPos = (scaleMax - model.y)/scaleMax >= 0.93 ? model.y + 20 : model.y - 5;
ctx.fillText(dataset.data[i], model.x, yPos);
}
});
}
}
});
実際には、このために大したことが必要です。 Charts.jsなどの設定をせずにコードのサンプルを実行できるようになると、おそらくもっと迅速に答えが明らかになります。 –