我可以将普通数据源附加到 Bokeh 上的文档吗?

Can I attach a plain DataSource to a document on Bokeh?

我有一个 Bokeh 服务器 运行 并且我将它作为 Bokeh 文档嵌入到我的应用程序中,这允许我从前端的组件更改字形数据源(同时具有套接字连接) 通过像这样访问它:

let mySource = Bokeh.documents[0].get_model_by_name('mySource');
...
(alter the data)
...
mySource.change.emit();

但是我的问题是这个源必须是字形的源,才能通过我的前端组件在 Bokeh.documents[0] 中访问它。但我希望这个数据源只是一个空列表,并通过前端添加“ids”,然后在 python 中获取那些将要访问的 ID 的 data成为散景字形来源。

问题是,我找不到将普通数据源附加到散景根的方法。我只能在其中获取一个数据源作为字形的一部分(但我不需要一个 id 列表的字形)。

有人对此有什么建议吗?

您可以将 ColumnDataSource 添加到字形或数据 table 并使用 visible 属性将其隐藏。请参阅下面 DataTable 和空 ColumnDataSource 的示例(适用于 Bokeh v2.1.1):

from bokeh.io import curdoc
from bokeh.models import ColumnDataSource, DataTable, TableColumn

columns=[TableColumn(field=str(i),title=str(i),width=200,name=str(i)) for i in range(2)]
source = ColumnDataSource(data={}, name='mySource')
table=DataTable(source=source,columns=columns,name='myTable',visible=False)
curdoc().add_root(table)