使用散景在线更新多个绘图数据

时间:2014-11-22 19:12:35

标签: python plot bokeh

从BOKEH MAINTAINERS注意:以下代码中的API已超过四年未成为Bokeh的一部分。这个问题与任何现代版本的Bokeh无关。


我有一个使用散景服务器不断更新的情节,我想在同一个生成的页面中添加更多的图表来更新他们的数据。

我做了一个与数据无关的例子:

from bokeh.plotting import *
from bokeh.objects import Glyph
import random
import time


x_data = []
y_data = []

x_data2 = []
y_data2 = []

output_server("multiple_updateable_plots")

figure(title="First plot")
line(x_data, y_data,
    color="#0000FF",
    tools="pan,resize,wheel_zoom", width=1200,height=300, 
    title = 'First plot stuff',
    legend='value of thing')
xaxis()[0].axis_label = "Time"
yaxis()[0].axis_label = "Value"


figure(title="Second plot")
line(x_data2, y_data2, 
    color="#0000FF",
    tools="pan,resize,wheel_zoom", width=1200,height=300, 
    title = 'Second plot stuff',
    legend='value of thing2')
xaxis()[0].axis_label = "Time"
yaxis()[0].axis_label = "Value"

show()


renderers = curplot().select(dict(type=Glyph))
datasource = renderers[0].data_source
time_ref = 0
while True:
    datasource.data["x"] = x_data
    datasource.data["y"] = y_data
    datasource._dirty = True
    cursession().store_objects(datasource)
    # How to update data of each plot?
    # This updates the last one only

    x_data.append(time_ref)
    time_ref += 1
    y_data.append(random.random()) 
    time.sleep(0.1)

浏览器中有效显示了两个图,但第二个图正在更新。我试过玩渲染器和数据源但没有运气。


解决

我从2014年11月23日起安装了源代码的最新版本,并使用以下代码:https://github.com/awesomebytes/bokeh_ros/blob/master/scripts/multiple_updateable_plots.py

0 个答案:

没有答案