2016-06-21 43 views
3

我可以将数据流式传输到离线Python绘图图表,或以其他方式更新现有图表吗?我试过只是反复调用iplot(),但是这会创建更多的图形,而不是更新当前的图形。Streaming Plotly离线图表

回答

2

来源:https://plot.ly/python/file-options/

import plotly.plotly as py 
from plotly.graph_objs import * 

data = Data([ 
    Scatter(
     x=[1, 2], 
     y=[3, 4] 
    ) 
]) 

plot_url = py.plot(data, filename='my plot') 

“如果一个名为graph‘我的阴谋’已经在您的帐户存在,那么它会用这个新版本和图形将长期存在的URL重写。”

只需将go.Stream添加到您的data = Data区块,使其成为流图。

+0

至于离线问题去,我不认为你可以进行离线数据流图,因为你需要它承载您的流的URL,和流令牌ID的需要取从plot.ly首先 – ljc

0

您无法将数据流式传输到离线Plotly图。

0

我能够在ipywidgets的帮助下,在离线模式下生成一个流式传输(或者更准确地说是更新),并对iplot函数进行一些攻击。我没有使用IPython.display中的clear_output,因为它可能会导致不必要的干扰。

请参考this file中的JupyterNotebookPlotlyStream类。在每次更新流时,都需要提供一个图形化的图形对象,可以将其绘制为JupyterNotebookPlotlyStream实例的_fig属性。

iplot命令(实际的JavaScript命令部分)将通过小部件发送到浏览器。主显示屏将被更新。

参考: https://github.com/jupyter/help/issues/54#issuecomment-236326113