0👍
✅
Based on the sampleData you posted above this is what you’re passing to your tooltip in data
. The problem is that you’re passing an array to label
when it is supposed to be a string – documentation.
data = {
labels: ["A", "B", "C", "D"],
datasets: [
{
label: ["A", "B", "C", "D"],
data: [
{ x: "2786", y: "12.4", r: "15.32" },
{ x: "4998", y: "23.7", r: "52.46" },
{ x: "719", y: "20.4", r: "6.5" },
{ x: "3649", y: "15.9", r: "25.73" }
]
}
]
};
If you’re trying to pass multiple data points with different labels then you will need to breakout your datasets
into an array of objects like so.
data = {
datasets: [
{
label: "A",
data: [{ x: "2786", y: "12.4", r: "15.32" }]
},
{
label: "B",
data: [{ x: "4998", y: "23.7", r: "52.46" }]
},
{
label: "C",
data: [{ x: "719", y: "20.4", r: "6.5" }]
},
{
label: "D",
data: [{ x: "3649", y: "15.9", r: "25.73" }]
}
]
};
If you must save your labels to an array then you need to extract which label you need when building your chart data. Something like this should work…
dynamicData =[
{ x: "2786", y: "12.4", r: "15.32" },
{ x: "4998", y: "23.7", r: "52.46" }
];
labelArray = ["A","B","C","D"];
parsedData = [];
for(let i = 0; i < dynamicData.length; i++) {
parsedData.push({
label: labelArray[i],
data: [dynamicData[i]]
});
}
data = {
datasets: parsedData
};
Source:stackexchange.com