Обновить только ось Y - CanvasJS - PullRequest
1 голос
/ 01 октября 2019

У меня есть диаграмма CanvasJS, в которой моя ось X является статической (пример ниже)

Example chart

Я хочу динамически обновить только ось 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

Как мне отредактировать мой код, чтобы обновить только 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/

...