首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >Plotly和Websockets

Plotly和Websockets
EN

Stack Overflow用户
提问于 2021-02-08 23:47:34
回答 1查看 110关注 0票数 1

目前,我正在尝试使用Plotly来制作一个实时饼图,其中包含来自websocket连接的数据。然而,我似乎无法将数据从套接字获取到图形中。现在,我看到了两种方法。一种是从onmessage函数中获取数据,比如向父函数返回值。另一种方法是将Plotly代码放入onmessage函数中。这两种方法目前都不起作用。我不打算在这个线程中讨论从onmessage函数中获取数据,因为这个线程是用于Plotly的,而不是websocket的。我将链接一个堆栈溢出线程,如果你对该部分感兴趣,我会在其中询问websocket问题。

JavaScript: Getting Values out of Websocket Functions

因此,关于我在将Plotly放入onmessage函数中时遇到的问题。由于某些原因,当我剪切并粘贴创建图形的代码到该函数中时,它会“冻结”程序。脚本将像往常一样运行,直到它生成图形,你可以看到它生成了图形,然后它就停在那里。整个代码会停止,因为它应该循环回到函数的开头,并更新页面上的活动文本,该流也会停止。如果你想看一看,我的代码在下面。

代码语言:javascript
复制
var pmsg = "null";
var ws = new WebSocket('ws://localhost:10011/');
ws.onmessage = function(event)
{
     if(pmsg == 'QC1R1TR')
     {
          QC1R1TR = event.data;
          var testing = document.getElementById('QC1R1TR');
          testing.innerHTML = "Run Time: " + QC1R1TR;
     }
 
     pmsg = event.data;

     var data = [{
     values: [2, 1],
     labels: ['TR', 'TNR'],
     type: 'pie',
     automargin: true
     }];

     var layout = {
     height: 300,
     width: 300,
     margin: {"t": 0, "b": 0, "l": 0, "r": 0},
     //showlegend: false
     };

     Plotly.newPlot('QC1R1Pie', data, layout);
}

请注意,当绘图是静态数字时,当前不是变量的问题。当绘图在父函数中时,它可以工作,页面上的活动文本也可以工作。

在这方面的任何帮助都将非常感谢!

谢谢,卢克

EN

回答 1

Stack Overflow用户

发布于 2021-03-01 21:00:56

我找到了另一个解决方案,从websocket中获取数据。有关该解决方案的详细信息,请参阅其他线程。

作为参考,我再次将链接附加到下面的另一个线程。

Getting Values out of Websocket Functions

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/66104834

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档