У меня есть диаграмма CanvasJS, в которой моя ось X является статической (пример ниже)
![Example chart](https://i.stack.imgur.com/wOkhl.png)
Я хочу динамически обновить только ось Yтак что значение для каждой области обновляется в реальном времени, когда пользователь просматривает график (т. е. если область 1 должна стать 20 вместо 10, график будет обновляться, чтобы отразить это.)
Ниже приведен мой коддалеко для добавления и обновления данных. Только сейчас, когда вызывается функция обновления, на график не будет добавлена обновленная ось Y, если было сделано изменение, но ось X дублирована.
Код:
function addData(data) {
for (var i = 0; i < data.length; i++) {
dataPoints.push({
label: data[i].area,
y: data[i].number
});
}
chart.render();
setTimeout(function(){updateYAxis(data)}, 5000);
}
function updateYAxis(data) {
console.log("Update called");
for (var i = 0; i < data.length; i++) {
dataPoints.push({
label: data[i].authority,
y: data[i].attendanceRows
});
}
setTimeout(function(){$.getJSON("http://localhost:8080/implementation/data/overflow.json", updateYAxis)}, 5000);
chart.render();
}
Вывод на экран после обновления:
![Update example](https://i.stack.imgur.com/JWhAe.png)
Как мне отредактировать мой код, чтобы обновить только Yось, как вносятся изменения в данные?
Пример данных:
[
{
"area": "Area 1",
"number": 10
},
{
"area": "Area 2",
"number": 15
},
{
"area": "Area 3",
"number": 7
},
{
"area": "Area 4",
"number": 24
}
]
Редактировать: Я добавил JsFiddle в соответствии с запросом:
https://jsfiddle.net/8qf1Lk3c/