服务器介绍#
目的#
注意
为了使本指南更易于理解,请先熟悉 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 笔记本中,或者用于您和您的同事可以在本地运行的小型应用程序。
Bokeh 服务器在这里非常方便,可以通过有效使用 Bokeh 服务器应用程序来实现快速简单的部署。 有关更多详细信息,请参阅构建应用程序。
创建可部署的应用程序#
您可能还希望使用 Bokeh 服务器将交互式数据可视化和应用程序发布给更广泛的受众,例如在互联网或内部公司网络上。 Bokeh 服务器也非常适合这种用法,但您可能需要首先查阅以下内容