如何将Bokeh交互式地图放置在网站上?

时间:2019-12-23 00:55:57

标签: python html bokeh

如何上传我在网站上创建的交互式bokeh背景图?我阅读了文档,并使用file_html函数创建html代码,但是所有功能都无法像select下拉列表和滑块那样工作。在网站上共享它的最佳方法是什么?

这是我收到的警告。

This is the Warning I received. WARNING:bokeh.embed.util: You are generating 
standalone HTML/JS output, but trying to use real Python callbacks (i.e. 
with on_change or on_event). This combination cannot work. Only JavaScript 
callbacks may be used with standalone output. For more information on  
JavaScript callbacks with Bokeh , see:

http://bokeh.pydata.org/en/latest/docs/user_guide/interaction/callbacks.html

2 个答案:

答案 0 :(得分:0)

我试图使该错误消息尽可能独立。我不确定还可以添加什么,但是欢迎提出建议。有两种情况:

独立输出

这纯粹是HTML和JS内容,与任何正在运行的python进程无关。它通常由output_fileshow(或save)生成,但是如果使用较低级别的file_html函数,也可以得到它。由于创建输出后在任何地方都没有Python进程,因此根本没有办法使“真正的” Python回调起作用。在这种情况下,唯一可能起作用的回调是JavaScript回调,例如CustomJS添加了js_on_changejs_on_event。这是因为查看(纯HTML和JS)内容的浏览器对Python一无所知,而仅对JavaScript有所了解。

Bokeh服务器应用程序

这是连续运行的Bokeh服务器,用于提供Bokeh内容,并且,  最关键的是:保持与该内容的活动连接。这意味着当某些事件发生时,例如滑块更改后,Bokeh服务器可以运行真实的Python回调代码作为响应。实际上,这就是Bokeh服务器存在的主要原因:为on_changeon_event回调运行真正的Python代码。如果您想运行真实的Python代码(例如Numpy或Pandas等)来响应事件,则必须run a Bokeh server

答案 1 :(得分:-1)

在Web浏览器中右键单击生成的站点,然后选择“检查”。然后打开“控制台”选项卡,您将在此处详细列出错误列表。我的猜测是您没有正确引用javascript文件。