如何在后端与bokehjs前端连接holoviews

问题描述 投票:0回答:1

嗨,我正在开发一个需要绘制数百万个点的网页,所以我在我的后端使用HoloViews生成一个情节并将其作为Bokeh模型发送到我的前端,使用Bokehjs。

所以在API中我调用了一个执行此操作的函数

hv.extension("bokeh")
points = hv.Points(df)
datashaded = hd.datashade(points, aggregator=ds.count_cat('cat')).redim.range(x=(-5,5),y=(-5,5))
plot = hv.render(datashaded)
return json.dumps(json_item(plot))

并返回以JSON格式发送到前端的Bokeh模型。

函数hd.datashade渲染Bokeh图并在内部调用datashader以在控制缩放时创建图像。但问题是,因为我只通过API调用此函数一次,缩放控件不会创建新图像,而只是使像素更大。

我需要一种方法来运行“实时python进程”,因为documentation状态,所以我可以有缩放控件和工具提示。但我不知道如何实现这一目标。

python bokeh holoviews datashader
1个回答
0
投票

将内容转储到JSON后,就不再与Python代码建立任何连接。相反,你可以在http://pyviz.org/tutorial/13_Deploying_Bokeh_Apps.html做一些事情:

hv.extension("bokeh")
points = hv.Points(df)
datashaded = hd.datashade(points, aggregator=ds.count_cat('cat')).redim.range(x=(-5,5),y=(-5,5))
doc = hv.renderer('bokeh').server_doc(datashaded)
doc.title = 'HoloViews Bokeh App'

然后运行bokeh serve --show file.py在您的文件上启动Bokeh Server。 Bokeh服务器将确保Python进程正在运行,提供用于显示HTML / JS的Web服务器,并在它们之间建立连接。

© www.soinside.com 2019 - 2024. All rights reserved.