Диаграмма всегда пуста - PullRequest
       2

Диаграмма всегда пуста

0 голосов
/ 24 ноября 2018

Я пытаюсь добавить диаграмму Plotly на мою веб-страницу.Данные отправляются в Javascript через SocketIO, но диаграмма пуста.

Я не понимаю, почему, поскольку данные переводятся в arr.Любой совет?

var arr = [];

socket.on('two', function(msg) {

    arr.push(msg.num)

    console.log(arr)
  });

  Plotly.plot('chart',[{
      y:[0],
      type:'line'
    }]);

    var cnt = 0;
    setInterval(function(){
        Plotly.extendTraces('chart',{ y:[[arr]]}, [0]);
        cnt++;
        if(cnt > 500) {
            Plotly.relayout('chart',{
                xaxis: {
                    range: [cnt-500,cnt]
                }
            });
        }
    },15);

1 Ответ

0 голосов
/ 24 ноября 2018

Функция Socket.io on () является асинхронной.Таким образом, код Plotly не ожидает завершения и, как таковой, получает только пустой массив в качестве своих данных.Попробуйте создать экземпляр графика Plotly, прежде чем отправлять удаленный запрос данных через Socket.io, затем обновите график в функции ответа метода on ().

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