首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >Bokeh:自动刷新bokeh图

Bokeh:自动刷新bokeh图
EN

Stack Overflow用户
提问于 2016-07-10 19:39:31
回答 0查看 6K关注 0票数 11

我正在尝试一个示例Bokeh Application (采用“单模块格式”),用于从数据集生成图表。在给定的示例中,网页上的用户可以单击按钮,图表将使用最新数据进行更新。我正在试图弄清楚如何才能在不要求用户单击按钮的情况下实现相同的行为。也就是说,我希望图表以指定的时间间隔自动更新/刷新/重新加载,而不需要用户交互。理想情况下,我只需要在myapp.py中更改一些内容就可以实现这一点。

bokeh版本为0.12.0。

为了方便起见,这里复制了Demo代码:

代码语言:javascript
复制
# myapp.py

import numpy as np

from bokeh.layouts import column
from bokeh.models import Button
from bokeh.palettes import RdYlBu3
from bokeh.plotting import figure, curdoc

# create a plot and style its properties
p = figure(x_range=(0, 100), y_range=(0, 100), toolbar_location=None)
p.border_fill_color = 'black'
p.background_fill_color = 'black'
p.outline_line_color = None
p.grid.grid_line_color = None

# add a text renderer to out plot (no data yet)
r = p.text(x=[], y=[], text=[], text_color=[], text_font_size="20pt",
            text_baseline="middle", text_align="center")

i = 0

ds = r.data_source

# create a callback that will add a number in a random location
def callback():
    global i
    ds.data['x'].append(np.random.random()*70 + 15)
    ds.data['y'].append(np.random.random()*70 + 15)
    ds.data['text_color'].append(RdYlBu3[i%3])
    ds.data['text'].append(str(i))
    ds.trigger('data', ds.data, ds.data)
    i = i + 1

# add a button widget and configure with the call back
button = Button(label="Press Me")
button.on_click(callback)

# put the button and plot in a layout and add to the document
curdoc().add_root(column(button, p))
EN

回答

页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/38291461

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档