带有 AjaxDataSource 的 Bokeh DataTable 未获取或更新
Posted
技术标签:
【中文标题】带有 AjaxDataSource 的 Bokeh DataTable 未获取或更新【英文标题】:Bokeh DataTable with AjaxDataSource not fetching or updating 【发布时间】:2017-07-13 14:47:49 【问题描述】:我正在为 JSON REST API 构建仪表板,我想从服务器获取元素列表,在表格中将其可视化,然后与之交互。
我修改了Bokeh Data Table Example 以使用 AjaxDataSource 而不是 ColumnDataSource。
生成的代码是这样的:
from datetime import date
from random import randint
from bokeh.models import AjaxDataSource
from bokeh.models.widgets import DataTable, DateFormatter, TableColumn
from bokeh.models.layouts import WidgetBox
from bokeh.plotting import show
source=AjaxDataSource(data_url="http://127.0.0.1:8000/dates", polling_interval=200)
#############
# Create data dict for the source, could be empty, filled with random data for testing
#############
source.data=dict( dates=[date(2017, 2, i+1) for i in range(10)],
downloads=[randint(0, 100) for i in range(10)])
columns = [
TableColumn(field="dates", title="Date", formatter=DateFormatter()),
TableColumn(field="downloads", title="Downloads"),
]
data_table = DataTable(source=source, columns=columns, width=400, height=280)
show(WidgetBox(data_table))
很遗憾,根本没有联系到服务器,表格还是显示了我填写的样本数据,看看发生了什么。
如果我使用带有 AjaxDataSource 的绘图,它会正确更新,每个轮询间隔都会联系服务器
【问题讨论】:
【参考方案1】:我遇到了完全相同的问题。如果您使用散景版本 0.13.0,这不再是问题。我升级后,它工作。请参阅本网站的最后一条评论。 https://github.com/bokeh/bokeh/issues/7937
【讨论】:
以上是关于带有 AjaxDataSource 的 Bokeh DataTable 未获取或更新的主要内容,如果未能解决你的问题,请参考以下文章
具有半透明背景的 Python Bokeh Hovertool