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