附录:API速查
常用模块
| 模块 | 用途 |
|---|---|
bokeh.plotting | 高级绘图接口 |
bokeh.models | 低级模型和组件 |
bokeh.io | 输入输出控制 |
bokeh.layouts | 布局管理 |
bokeh.transform | 数据转换 |
bokeh.palettes | 调色板 |
figure.add_tile() / xyzservices | 地图瓦片 |
Figure常用方法
| 方法 | 用途 | 典型场景 |
|---|---|---|
circle() | 散点图 | 相关性分析 |
line() | 折线图 | 时间序列 |
vbar() / hbar() | 柱状图 | 类别比较 |
varea() | 面积图 | 累积趋势 |
quad() | 矩形 | 直方图 |
image() | 热力图 | 相关矩阵 |
text() | 文本标注 | 标签 |
wedge() | 扇形 | 饼图 |
常用工具
| 工具 | 作用 |
|---|---|
PanTool | 拖拽平移 |
WheelZoomTool | 滚轮缩放 |
BoxZoomTool | 框选缩放 |
BoxSelectTool | 框选 |
LassoSelectTool | 套索选择 |
HoverTool | 悬停提示 |
CrosshairTool | 十字光标 |
ResetTool | 重置视图 |
SaveTool | 保存图片 |
Widgets小部件
| 控件 | 用途 | 常用属性 |
|---|---|---|
Slider | 数值滑块 | start, end, value, step |
RangeSlider | 范围滑块 | start, end, value |
Select | 下拉选择 | options, value |
MultiSelect | 多选下拉 | options, value |
Button | 按钮 | label |
Toggle | 开关按钮 | label, active |
TextInput | 文本输入 | value, placeholder |
DataTable | 数据表格 | source, columns |
DatePicker | 日期选择 | value, min_date, max_date |
回调类型
| 回调 | 用途 | 示例 |
|---|---|---|
on_change('value', fn) | 属性变化 | 滑块值改变 |
on_click(fn) | 点击事件 | 按钮点击 |
selected.on_change('indices', fn) | 选择变化 | 框选数据 |
add_periodic_callback(fn, ms) | 定时执行 | 实时更新 |
调色板
| 调色板 | 类型 | 用途 |
|---|---|---|
Viridis256 | 连续 | 数值映射 |
Plasma256 | 连续 | 数值映射 |
Category10 | 分类 | 10类以内 |
Category20 | 分类 | 20类以内 |
RdYlGn | 发散 | 正负值 |
Greys256 | 灰度 | 单色 |
数据源操作
| 方法 | 用途 |
|---|---|
ColumnDataSource(data) | 创建数据源 |
source.data | 获取/设置数据 |
source.stream(new_data) | 流式添加 |
source.patch(updates) | 局部更新 |
source.selected.indices | 获取选中索引 |
学习路径建议
入门阶段
- 掌握Figure创建和基本Glyph
- 理解ColumnDataSource的作用
- 学会使用output_file和show
进阶阶段
- 熟练使用HoverTool和选择工具
- 掌握布局系统(row, column, gridplot)
- 学会样式定制和主题
高级阶段
- 掌握Bokeh Server应用开发
- 学会Python回调和实时更新
- 理解CustomJS与Python回调的选择
实战阶段
- 结合真实数据构建仪表板
- 学习部署和性能优化
- 探索地理可视化、网络图等高级主题