構建一個動態更新的Bokeh儀表板,你可以使用Bokeh的ColumnDataSource
和bokeh.server
模塊來實現。以下是一個簡單的示例代碼:
from bokeh.plotting import figure, curdoc
from bokeh.models import ColumnDataSource
from bokeh.layouts import column
import numpy as np
# 創建一個數據源
source = ColumnDataSource(data=dict(x=[], y=[]))
# 創建一個圖形
plot = figure()
plot.line('x', 'y', source=source)
# 創建一個布局
layout = column(plot)
# 更新數據源的回調函數
def update():
new_data = dict(x=np.random.rand(10), y=np.random.rand(10))
source.data = new_data
# 添加更新數據源的定時器
curdoc().add_periodic_callback(update, 1000)
curdoc().add_root(layout)
保存以上代碼為app.py
文件,然后在命令行中運行bokeh serve app.py
來啟動Bokeh服務器。在瀏覽器中訪問http://localhost:5006/app
即可查看動態更新的儀表板。
在這個例子中,我們創建了一個具有隨機數據的ColumnDataSource
,然后在每隔一秒鐘更新數據源,從而實現動態更新的效果。您可以根據自己的需求修改數據源和更新函數來構建定制化的動態更新儀表板。