服务器介绍#
目的#
注意
为了使本指南更易于理解,请考虑在介绍部分熟悉一些Bokeh的核心概念。
Bokeh 服务器使得创建交互式网页应用变得容易,这些应用可以将前端的用户界面事件与运行的 Python 代码连接起来。
Bokeh 创建高级的 Python 模型,例如图表、范围、轴和字形,然后将这些对象转换为 JSON 以传递给其客户端库 BokehJS。有关后者的更多信息,请参阅 Contributing to BokehJS。
这种灵活且解耦的设计提供了一些优势。例如,可以轻松地使用其他语言(如R或Scala)在浏览器中驱动Bokeh图表和可视化。
然而,在Python环境和浏览器之间保持这些模型的同步将提供更强大的功能:
在浏览器中使用Python的全部功能来响应UI和工具事件,进行计算或查询
自动将服务器端的更新推送到浏览器中的UI元素,如小部件或图表
使用周期性、超时和异步回调来驱动流式更新
这就是Bokeh服务器发挥作用的地方:
Bokeh服务器的主要目的是在底层的Python环境和在浏览器中运行的BokehJS库之间同步数据。
这里有一个来自https://demo.bokeh.org的简单示例,展示了这种行为:
操作UI控件通过Bokeh服务器将新值传递给后端。这也会触发回调,实时更新图表以反映输入的变化。
使用场景#
考虑几种不同的场景,当您可能想要使用Bokeh服务器时。
本地或个人使用#
您可能希望使用Bokeh服务器进行探索性数据分析,可能是在Jupyter笔记本中,或者用于您和您的同事可以在本地运行的小型应用程序。
Bokeh 服务器在这里非常方便,通过有效利用 Bokeh 服务器应用程序,可以快速简单地部署。更多详细信息,请参阅 构建应用程序。
创建可部署的应用程序#
您可能还想使用Bokeh服务器向更广泛的受众发布交互式数据可视化和应用程序,例如在互联网或公司内部网络上。Bokeh服务器也非常适合这种用途,但您可能想先参考以下内容: