从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