Ich frage mich, ob es in ChartJS eine Option gibt, wie ich zusätzliche Informationen sehen kann, wenn ich über einen einzelnen Punkt in einem Liniendiagramm schwebe. Derzeit sieht meine Daten wie folgt aus:Fügen Sie einen Text als Tooltip für jeden Punkt in einem Liniendiagramm hinzu
function drawChart(dataSets) {
Chart.defaults.global.maintainAspectRatio = false;
Chart.defaults.global.responsive = false;
var data = {
labels: ["ID"]
, datasets: dataSets
};
var options = {
title: {
display: true
, text: 'Custom Chart Title'
}
, scales: {
yAxes: [{
ticks: {
beginAtZero: true
}
}]
, xAxes: [{
type: "linear"
, position: "bottom"
}]
}
, tooltips: {
callbacks: {
label: function (tooltipItem, data) {
alert("Entered tooltip callback.");
return i18n.t('chart.count') + ': ' + getCount(tooltipItem, data.datasets);
}
}
}
};
var myChart = Chart.Line(ctx, {
data: data
, options: options
});
}
function getCount(tooltipItem, datasets) {
return datasets[tooltipItem.datasetIndex].data.find(datum => {
return datum.x === tooltipItem.xLabel && datum.y === tooltipItem.yLabel;
}).count;
}
Und das ist, wie ein Datenpunkt wie folgt aussieht:
x:5
, y:5
, count:2
Aber die alert
„Eingegebene Tooltip“ nie aufgerufen wird, was mache ich falsch? Stattdessen bekomme ich diesen Fehler auf meiner Konsole (Google Chrome):
Ich habe meine erste Frage entsprechend Ihrer Antwort aktualisiert, es wäre wirklich schön wenn Du könntest es dir noch einmal ansehen. – binaryBigInt
Mkay ich habe ein Dummy-Dataset erstellt, das mit gegebenem Setup funktionieren würde –
Danke, jetzt ist die Callback-Funktion eingegeben, aber ich bekomme "i18n" ist nicht definiert. Welche Art von Funktion ist das? – binaryBigInt