显示Bokeh Crossfilter示例

时间:2017-06-23 19:55:55

标签: python bokeh crossfilter

我从这里下载了Bokeh Crossfilter示例的存储库: https://github.com/bokeh/bokeh/tree/master/examples/app/crossfilter

应该生成此处显示的交互式图: https://demo.bokehplots.com/apps/crossfilter

我在存储库中运行了main.py.然而,什么也没出现。然后我意识到代码没有显示布局。所以我最后添加了行显示(布局),它确实在Web浏览器上显示了布局,但是当我为x和y轴选择不同的东西时它不会更新绘图。我确实知道show(布局)代码只显示运行代码时的布局,而不是告诉它更新。但是,我无法弄清楚如何在网络浏览器上显示这个图,以便它仍然是交互式的(当我在浏览器上选择不同的轴时会更新图表。)

我非常感谢任何帮助。谢谢!

1 个答案:

答案 0 :(得分:0)

http://bokeh.pydata.org/en/latest/docs/gallery.html 在库中,您可以看到示例的第一部分属于散景服务器应用类别,并且需要散景服务器以交互方式工作。

示例的第二部分是独立的(仅在浏览器中)。

要核心运行应用程序:下载文件夹的所有内容,并将其保存在文件夹中,比如crossfilter。打开命令提示符(不在python中)并键入bokeh serve --show crossfilter。 这将打开应用程序,它应该响应用户交互。

从python运行show(layout)和从命令行提供散景应用程序可以实现的目标有一个关键的区别。

使用show(...)将在浏览器中显示内容,从这里python和浏览器之间没有连接,因此无法从python函数更新图。它只能使用javascript(在浏览器中运行)。在crossfilter示例中没有javascript回调,因此当您与任何内容进行交互时不会发生任何事情。

Bokeh提供服务器功能,允许从python运行代码并更新用户交互图。从这里开始:http://bokeh.pydata.org/en/latest/docs/user_guide/server.html