Основываясь на примере данных, которые вы разместили выше, это то, что вы передаете всплывающей подсказке в data
. Проблема в том, что вы передаете массив в label
, когда он должен быть строкой - документация .
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" }
]
}
]
};
Если вы пытаетесь передать несколько точек данных с разными метками, вам нужно разбить ваш datasets
на массив таких объектов.
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" }]
}
]
};
Если вам необходимо сохранить ваши метки в массиве, вам необходимо извлечь метку, которая вам нужна при построении данных диаграммы. Как-то так должно работать ...
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
};