Диаграмма js ошибка: шкала времени: «time.format» устарела. Пожалуйста, используйте "time.parser" вместо - PullRequest
1 голос
/ 18 апреля 2020

Я использую диаграмму js для своего проекта. Я использую следующие версии: Chart JS 2.9.3, Chart js -plugin-streaming 1.8.0, момент. js 2.24.0, график js -adapter-момент 0.1.1. Я строю график в реальном времени и получаю это предупреждение каждую секунду, которое очень быстро заполняет память.

шкала времени: "time.format" устарела. Пожалуйста, используйте "time.parser" вместо

Мой код:

private chartPlotting() {
  this.Linecap.push(new Chart('canvas', {
    type: 'line',
    data: {
      datasets: [{
          label: 'Flow',
          lineTension: 0,
          data: [],
          borderColor: '#3cb371',
          fill: false
        },
        {
          label: 'Height',
          lineTension: 0,
          data: [],
          borderColor: '#FF0000',
          fill: false
        }
      ]
    },
    options: {
      responsive: true,
      scales: {
        xAxes: [{
          type: 'realtime',
          time: {
            parser: 'false'
          },
          display: true
        }],
        yAxes: [{
          display: true,
          ticks: {
            beginAtZero: true,
            maxTicksLimit: 10,
            stepSize: 5,
            max: 500
          }
        }],
      },
      plugins: {
        streaming: {
          duration: 300000,
          refresh: 1000,
          delay: 2000,
          pause: false,
          ttl: undefined,
          frameRate: 48,

          onRefresh: function(Linecap) {
            ///var data = []
            var xhr = new XMLHttpRequest();
            xhr.open('GET', url);
            xhr.onload = function() {
              var data = JSON.parse(xhr.responseText);
              Linecap.data.datasets[0].data.push({
                x: Date.now(),
                y: data[0]["yrData"]
              });
              Linecap.data.datasets[1].data.push({
                x: Date.now(),
                y: data[0]["Height"]
              });
            };
          }
        }
      }
    }
  }));
}

Я попытался выяснить причину этого и узнал, что может быть в следующей версии диаграммы JS т.е. 3.0.0 эта проблема будет удалена. Есть ли способ обойти эту ошибку в 2.9.3?

1 Ответ

0 голосов
/ 19 апреля 2020

Проблема связана с несовместимыми версиями различных библиотек, которые вы используете.

Документация chart js -plugin-streaming , например, гласит следующее:

Для версии 1.8 требуется диаграмма. js 2.7.x или 2.8.x.

Чтобы избавиться от проблемы, у вас есть два варианта.

  1. избавиться от диаграммы js -plugin-streaming
  2. Понижение рейтинга. js 2.9.3 до 2.8.0

ОБНОВЛЕНИЕ

С Angular 8, я рекомендую использовать ng2-charts, который основан на Chart.js. Далее вам следует избавиться от chartjs-plugin-streaming и реализовать соответствующие функции самостоятельно.

Пожалуйста, посмотрите на следующее StackBlitz

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...