Как обновлять графики. js динамически - PullRequest
0 голосов
/ 16 марта 2020

Я хочу обновить диаграмму динамически, используя данные из AJAX звонка. Весь график в формате l oop с общей длиной возвращаемого значения из вызова AJAX. Причина этого в том, что я хочу получить доступ к определенным данным из моей базы данных, чтобы использовать эти данные в моем графике (TimeStamps, Temperature, ...). Это мой текущий код:

for (var i = 0; i < data.length; i++) {
   var ctx = $("#" + data[i].SensorID);
               switch(data[i].Settings){
                   case "Line":
                       var chartdata = {
                           labels: [],
                           datasets: [{
                             label: 'Sensor Temperatuur',
                             backgroundColor: 'rgba(200, 200, 200, 0.75)',
                             borderColor: 'rgba(200, 200, 200, 0.75)',
                             hoverBackgroundColor: 'rgba(200, 200, 200, 1)',
                             hoverBorderColor: 'rgba(200, 200, 200, 1)',
                             data: []
                           }]
                         };


                         var myChart = new Chart(ctx, {
                           type: 'line',
                           data: chartdata,
                           options: {
                             scales: {
                               yAxes: [{
                                 ticks: {
                                   beginAtZero: true
                                 }
                               }]
                             }
                           }
                         });

                         //Part where I want to UPDATE the chart using data from my database

                         myChart.chartdata.datasets.data[i] = data[i].Temperature;
                         myChart.chartdata.labels[i] = data[i].TimeStamp;
                         myChart.update();

                         break;
...
}

ПРИМЕЧАНИЕ. Все для l oop основано на функции успеха Ajax. Я хочу использовать возвращенные данные для создания этих диаграмм. Когда я регистрирую данные, он отображает все правильные данные, так что это не проблема.

Текущая проблема: он говорит, что не может получить данные диаграммы из undefined, поэтому он не распознает мою переменную диаграммы, которую я создал выше.

Что я хочу (в настоящее время): обновление диаграммы на основе количества строк с различными данными каждые 5 секунд или около того.

...