Bokeh 用户指南全景导航:从 Python 到浏览器交互可视化的八大部分主题地图
Bokeh 用户指南全景导航从 Python 到浏览器交互可视化的八大部分主题地图【免费下载链接】bokehInteractive Data Visualization in the browser, from Python项目地址: https://gitcode.com/GitHub_Trending/bo/bokeh导读本文以 Bokeh 官方文档的入口文件 user_guide.rst 为骨架完整梳理 Bokeh 用户指南的组织结构与八个核心主题板块基础绘图、样式定制、专题数据、交互功能、输出嵌入、Bokeh Server 与高级扩展。读者读完本文将掌握 Bokeh 文档体系的地图式索引——知道想画某种图该看哪一章、想加交互该查哪一节、想部署应用该读哪一篇同时获得指向仓库内真实示例与源码的第一手路径从而快速上手 Bokeh 交互式数据可视化。Bokeh 用户指南一份按主题编排的完整教程Bokeh 是一个面向浏览器的交互式数据可视化库其核心工作流是在 Python 中描述图形由 BokehJS 在浏览器中完成渲染与交互。仓库根目录下的 README.md 将项目定位为 Interactive Data Visualization in the browser, from Python。用户指南的入口文档docs/bokeh/source/docs/user_guide.rst明确说明这份指南按主题topic编排包含大量尽量精简的示例——每个示例通常只聚焦一个功能或概念读者可以将其直接复制粘贴到自己的开发环境中运行且绝大多数示例不需要任何第三方库with only a handful of exceptions, you will need no external libraries to run the examples。指南开篇给出两条入门路径安装 Bokeh官方入口位于docs/bokeh/source/docs/first_steps/installation.rst支持conda与pip两种方式其中 pip 安装命令为pip install bokeh。快速教程 First stepsdocs/bokeh/source/docs/first_steps.rst提供 9 个循序渐进的快速教程first_steps_1.rst至first_steps_9.rst覆盖从第一个图形到复杂交互的全过程是上手最快的方式。用户指南主体则由以下八个部分构成每一部分在源码中都有对应的*.rst文档目录并有配套的 examples 示例脚本目录。第一部分Introduction——理解 Bokeh 的核心概念ug_intro对应文档user_guide/intro.rst这一章从概念层面建立对 Bokeh 的整体认知核心是一份术语表Glossary其中的关键术语包括术语含义Annotation辅助阅读图形的视觉元素如标题、图例、标签、波段band等Application生成 Bokeh Document 的配方通常是每当新建会话时由 Bokeh Server 执行的 Python 代码BokehJS真正负责在浏览器中渲染图形和处理 UI 交互的 JavaScript 客户端库。大多数场景下 Bokeh 自动处理与 BokehJS 的交互——我们替你写 JavaScript你不必亲自写Document组织 Bokeh 应用的数据结构包含渲染一个交互式可视化所需的所有 Model 与数据Embedding把 Bokeh 图形与控件嵌入 Web 应用、网页或 Jupyter Notebook 的各种方式Glyph绘制矢量图形表示数据的 API 对象是 Bokeh 图形的基本视觉构件线条、矩形、方块、楔形、散点圆等LayoutBokeh 对象的集合可将多个图形与控件按嵌套的行列排列ModelBokeh 可视化的最低层对象这些概念贯穿整个用户指南例如 Glyph 是基础绘图章节的核心Embedding 对应输出章节Application 与 Server 对应Bokeh Server章节。读者可在 src/bokeh 源码树中找到这些概念的实现痕迹——如src/bokeh/models目录存放各类图形与注释模型的 Python 定义src/bokeh/document存放 Document 的实现。第二部分基础绘图ug_basic——用 bokeh.plotting 创建各类图形对应文档目录user_guide/basic/这一章讲解如何用简单而灵活的bokeh.plotting接口创建不同类型的图形。指南明确将 plotting 接口定位为最常用、最易上手的绘图方式其在仓库中的实现位于 src/bokeh/plotting而 Python 侧对应的模型定义位于src/bokeh/models。该章节按图形类型细分为八个子主题每个子主题在文档目录与仓库示例目录中均有对应子章节文档仓库配套示例数据Datadata.rstexamples/basic/data如color_mappers.py、transform_customjs.py散点Scattersscatters.rstexamples/basic/scatters如markers.py、scatter_circle.py线条Lineslines.rstexamples/basic/lines如line_single.py、line_steps.py条形Barsbars.rstexamples/basic/bars如stacked.py、dodged.py区域Areasareas.rstexamples/basic/areas如stacked_area.py、varea.py坐标轴Axesaxes.rstexamples/basic/axes如categorical_axis.py、datetime_axis.py布局Layoutslayouts.rstexamples/basic/layouts如grid.py、sizing_mode.py注释Annotationsannotations.rstexamples/basic/annotations如legend.py、box_annotation.py仓库中的示例脚本与文档子章节一一对应读者可以把文档中的概念与 examples 下的真实可运行代码互相印证例如查看 scatter_circle.py 理解圆形 Glyph 的创建方式。第三部分样式定制ug_styling——美化图形的外观对应文档目录user_guide/styling/这一章教读者如何定制图形的外观分为五个子主题plots.rst图形整体外观的定制如标题、背景、边框与图例的视觉属性visuals.rstGlyph 视觉属性颜色、线宽、透明度等的定制themes.rst主题机制Bokeh 内置主题定义位于 src/bokeh/themes用户也可自定义主题实现全局统一风格mathtext.rst数学文本渲染仓库配套示例见 examples/styling/mathtext含 10 个示例脚本dom.rst面向 DOM 的样式定制对应 examples/styling/dom。在仓库中examples/styling 目录还提供了themes、plots、visuals等子目录的完整示例如 themes 下 6 个主题示例脚本帮助读者直观理解样式定制的效果。第四部分专题数据与应用场景ug_topics——把 Bokeh 用于专门领域对应文档目录user_guide/topics/这一章介绍如何将 Bokeh 的能力应用于专门的数据与使用场景共十个专题专题文档仓库配套示例分类数据Categoricalcategorical.rstexamples/topics/categorical等高线Contourcontour.rstexamples/topics/contour地理数据Geogeo.rstexamples/topics/geo图与网络Graphgraph.rstexamples/topics/graph六边形分箱Hexhex.rstexamples/topics/hex层级数据Hierarchicalhierarchical.rstexamples/topics/hierarchical图像数据Imagesimages.rstexamples/topics/images饼图Piepie.rstexamples/topics/pie统计Statsstats.rstexamples/topics/stats时间序列Timeseriestimeseries.rstexamples/topics/timeseries此外bokehjs/examples 下还提供了一批与专题对应的 TypeScript 示例如categorical.ts、hierarchical.ts、donut.ts展示同一类专题在 BokehJS 层面的实现方式。第五部分交互功能ug_interaction——让图形活起来对应文档目录user_guide/interaction/这一章讲解如何借助绘图工具plot tools、控件widgets与回调callbacks增强图形的交互性共七个子主题tools.rst缩放、平移、框选、悬停等交互工具tooltips.rst悬停提示框的定制仓库配套示例见 examples/interaction/tooltips含hover_tooltips.py、tooltip_content.py等legends.rst图例交互点击隐藏、静音等对应 examples/interaction/legendslinking.rst图形的联动linked panning、linked brushing 等对应 examples/interaction/linkingwidgets.rst按钮、滑块、下拉框等控件仓库配套示例非常丰富见 examples/interaction/widgetsjs_callbacks.rst通过 JavaScript 回调如CustomJS实现纯前端交互对应 examples/interaction/js_callbackspython_callbacks.rst通过 Python 回调与 Bokeh Server 结合实现服务端逻辑。在源码层面各类交互工具的 Python 模型定义于 src/bokeh/models/tools.py目录内以tools相关文件组织而对应的浏览器端渲染与事件处理实现位于 bokehjs/src/lib/models/tools控件模型则定义于src/bokeh/models/widgetsBokehJS 侧对应bokehjs/src/lib/models/widgets。这种 Python 模型与 BokehJS 实现一一对应的结构正是Python 描述、浏览器渲染架构的体现。第六部分输出与嵌入ug_output——在多种环境中展示图形对应文档目录user_guide/output/这一章讲解如何在不同上下文中导出、嵌入和展示 Bokeh 图形共四个子主题embed.rst将图形嵌入 Web 页面components()、file_html()、autoload等方式仓库配套示例见 examples/output/apis如components.py、file_html.py、autoload_static.py、json_item.pyexport.rst将图形导出为 PNG、SVG 等静态格式对应 examples/output/export如export_to_png.py、export_to_svg.pyjupyter.rst在 Jupyter Notebook / JupyterLab 中的展示与推送push_notebook对应 examples/output/jupyterwebgl.rstWebGL 后端渲染用于大规模数据的加速绘制对应 examples/output/webgl如scatter10k.py、line10k.py。嵌入与输出的底层实现位于 src/bokeh/embed 与 src/bokeh/io导出相关工具读者可从这两个源码目录进一步探究components、file_html、export等 API 的实现细节。第七部分Bokeh Serverug_server——构建并发布复杂数据应用对应文档目录user_guide/server/这一章讲解如何使用 Bokeh Server 构建和发布复杂的数据应用是用户指南中工程化程度最高的一章共五个子主题server_introduction.rstBokeh Server 的总体介绍与工作方式app.rst如何编写 Bokeh 应用Applicationlibrary.rst在 Python 库中嵌入 Bokeh Servercli.rst命令行工具的使用如bokeh servedeploy.rst应用的部署方式。Server 的核心实现位于 src/bokeh/server含 Tornado 服务端代码、会话与应用管理仓库还提供了丰富的服务端示例examples/server/app 包含约 40 个可运行的应用脚本如各类仪表盘、数据面板应用examples/server/api 则演示 Server API 的编程用法。对于需要Python 回调 实时数据的应用场景Bokeh Server 是官方推荐的承载方案。第八部分高级主题ug_advanced——扩展 Bokeh 与直接使用 BokehJS对应文档目录user_guide/advanced/这一章面向高级用户讲解如何与其他工具协同、扩展 Bokeh或直接用 BokehJS 在 JavaScript 中创建图形共三个子主题bokehjs.rst直接使用 BokehJSJavaScript/TypeScript创建图形源码与示例见 bokehjs/src 与 bokehjs/examplesextensions.rst通过编写自定义扩展Extension为 Bokeh 添加新的图形、工具或控件仓库配套示例见 examples/advanced/extensions如font-awesome、gears、parallel_plot三个完整扩展案例各含 Python 模型与 TypeScript 前端实现compat.rst与其他库/工具的兼容性说明。扩展机制的典型实现模式是Python 侧定义模型属性 BokehJS 侧编写渲染逻辑例如 examples/advanced/extensions/gears 中的Gear图形扩展就是这一模式的完整示范。文档中还有 custom.ts 等 TypeScript 示例展示如何在扩展中编写自定义绘图逻辑。如何使用这份指南阅读路径与示例运行建议根据入口文档的编排Bokeh 用户指南提供了三种使用方式从零开始的线性路径先完成 first_steps/installation.rst 的安装pip install bokeh或conda install再依次阅读first_steps的 9 个快速教程建立整体印象后进入用户指南按需查阅按需查阅的主题路径带着具体问题直接定位到对应章节——画分类条形图看专题-分类数据做联动图看交互-联动部署看Server-部署嵌入网页看输出-嵌入示例驱动的实战路径用户指南的每个概念几乎都能在 examples 目录中找到最小可运行示例。这些示例与文档章节一一对应如basic、styling、interaction、topics、output、server、advanced等子目录复制到本地直接运行即可观察效果再回到对应*.rst文档理解原理。结语Bokeh 用户指南的入口文档虽然简短却是一张高效的主题地图它把从 Python 绘图到浏览器交互、从静态导出到服务端应用、从内置功能到自定义扩展的全部能力组织为八个逻辑清晰的部分。结合仓库中与之一一对应的文档、示例脚本与源码目录开发者可以按安装 → 快速教程 → 主题查阅 → 示例验证 → 源码深究的路径系统掌握 Bokeh 交互式数据可视化的完整技术栈。【免费下载链接】bokehInteractive Data Visualization in the browser, from Python项目地址: https://gitcode.com/GitHub_Trending/bo/bokeh创作声明:本文部分内容由AI辅助生成(AIGC),仅供参考