Da Charts.js Anmerkungen noch nicht unterstützt, habe ich Anmerkungen der Datenpunkte hinzugefügt, nachdem das Diagramm gezeichnet wird. mit ctx.fillText wie unten gezeigt.Charts.js Tooltip überlappenden Text auf Diagramm
animation: {
animateScale: true,
animateRotate: true,
onComplete: function() {
var chartInstance = this.chart,
ctx = chartInstance.ctx;
ctx.font = Chart.helpers.fontString(Chart.defaults.global.defaultFontSize, Chart.defaults.global.defaultFontStyle, Chart.defaults.global.defaultFontFamily);
ctx.textAlign = 'center';
ctx.fillStyle = this.chart.config.options.defaultFontColor;
ctx.textBaseline = 'bottom';
this.data.datasets.forEach(function (dataset, i) {
var meta = chartInstance.controller.getDatasetMeta(i);
meta.data.forEach(function (bar, index) {
data = dataset.data[index];
ctx.fillText(data, bar._model.x, bar._model.y - 5);
});
});
}
}
Das funktioniert gut, abgesehen davon, dass jetzt der Tooltip unter dem neu hinzugefügten Text angezeigt wird. Dies ist nicht so offensichtlich, jedoch überlappt es manchmal an einem schlechten Ort, was bedeutet, dass Sie den Tooltipp nicht sehen können.
Gibt es einen Weg, um den Z-Index des ctx.fillText oder Tooltip zu setzen, so kann ich sie richtig Schicht?