2016-06-21 49 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