【发布时间】:2017-03-06 18:08:57
【问题描述】:
是否可以在不使用 show() 的情况下在 Bokeh 中显示和更新 Pandas 图?网上有这方面的例子吗?我似乎找不到任何东西。例如,类似:
def bar_plot(fig, source):
p = pd.DataFrame()
p = p.from_dict(source.data)
fig = p.plot.bar()
return fig
def update_data():
data = source.data
data['y'] = random.sample(range(0,100),len(data['y']))
source.data = data
button.on_click(update_data)
source = ColumnDataSource(data)
fig = bar_plot(fig, source)
layout = layout([[button,fig]])
curdoc().add_root(layout)
【问题讨论】:
-
为什么要使用 bar 而不是 vbar?如果您的数据在数据框中,您可以轻松地将其转换为 ColumnDataSource 并使用我发布的方法 - 您在此处复制并更改了?
-
你的方法对我有用。我想制作一个简单的应用程序,它有两个选项卡 - 一个用于绘制条形图,一个用于绘制文字云。我只是想弄清楚如何定义和调用我自己的绘图函数,该函数将绘制除 Bar、vbar 等内置 Bokeh 之外的东西。但这听起来并不容易。
-
哦,就像您想在其他库中绘图并将这些传递给散景一样,抱歉我误解了这一点。如果您真的想使用其他不采用散景源的绘图 - 您可以通过重新创建每次手动更新图表。
-
@Okonomiyaki 这是怎么做到的?
-
等我回家做个测试例子。