Mit Bezug auf die original solution to displaying data value unter Verwendung HTML5 Canvas fillText()
Methode in der animation
‚s onComplete
, unter dem Code erhalten Sie, was Sie brauchen:
Der Schlüssel, um benutzerdefinierte-Anzeige einen beliebigen Plan bezogenen Daten der Chart inspiziert Datensatz wie in this.data.datasets
unten. Ich habe dies untersucht, indem ich untersucht habe, wo sich die verschiedenen Werte in diesem Dataset befinden und wie sie für die fillText-Methode platziert werden.
Inspizieren der Chart-Datensatz: Image
Script (Chart.js 2.0 & up):
var barOptions = {
events: false,
showTooltips: false,
legend: {
display: false
},
scales:{
yAxes: [{
display: false
}]
},
animation: {
onComplete: function() {
var ctx = this.chart.ctx;
ctx.font = Chart.helpers.fontString(Chart.defaults.global.defaultFontFamily, 'normal', Chart.defaults.global.defaultFontFamily);
ctx.textAlign = 'left';
ctx.textBaseline = 'bottom';
this.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,
left = dataset._meta[Object.keys(dataset._meta)[0]].data[i]._xScale.left;
ctx.fillStyle = '#444'; // label color
var label = model.label;
ctx.fillText(label, left + 15, model.y + 8);
}
});
}
}
};
jsFiddle: http://jsfiddle.net/jfvy12h9/
ich mit wechselnden Etiketten auf Liniendiagramm für eine ganze Woche verwirrt, sieht dies nicht so schwer, aber viel Glück –