- Bokeh 教程
- Bokeh - 首页
- Bokeh - 简介
- Bokeh - 环境设置
- Bokeh - 快速入门
- Bokeh - Jupyter Notebook
- Bokeh - 基本概念
- Bokeh - 使用 Glyph 绘图
- Bokeh - 面积图
- Bokeh - 圆形 Glyph
- Bokeh - 矩形、椭圆和多边形
- Bokeh - 扇形和弧形
- Bokeh - 特殊曲线
- Bokeh - 设置范围
- Bokeh - 坐标轴
- Bokeh - 注释和图例
- Bokeh - Pandas
- Bokeh - ColumnDataSource
- Bokeh - 数据过滤
- Bokeh - 布局
- Bokeh - 绘图工具
- Bokeh - 样式化视觉属性
- Bokeh - 自定义图例
- Bokeh - 添加小部件
- Bokeh - 服务器
- Bokeh - 使用 Bokeh 子命令
- Bokeh - 导出图表
- Bokeh - 嵌入图表和应用程序
- Bokeh - 扩展 Bokeh
- Bokeh - WebGL
- Bokeh - 使用 JavaScript 进行开发
- Bokeh 有用资源
- Bokeh - 快速指南
- Bokeh - 有用资源
- Bokeh - 讨论
Bokeh - 使用 Glyph 绘图
任何图表通常由一个或多个几何形状组成,例如线、圆、矩形等。这些形状包含有关相应数据集的视觉信息。在 Bokeh 术语中,这些几何形状称为 Glyph。使用bokeh.plotting 接口构建的 Bokeh 图表使用一组默认工具和样式。但是,可以使用可用的绘图工具来自定义样式。
图表类型
使用 Glyph 创建的不同类型的图表如下所示:
线图
这种类型的图表可用于以线的形式可视化点沿 x 轴和 y 轴的移动。它用于执行时间序列分析。
条形图
这通常用于指示数据集中特定列或字段的每个类别的计数。
面片图
此图表指示特定颜色阴影中的点区域。此类型的图表用于区分同一数据集中不同的组。
散点图
此类型的图表用于可视化两个变量之间的关系,并指示它们之间相关性的强度。
不同的 Glyph 图表是通过调用 Figure 类的适当方法形成的。Figure 对象通过以下构造函数获得:
from bokeh.plotting import figure figure(**kwargs)
Figure 对象可以通过各种关键字参数进行自定义。
序号 | 标题 | 设置图表的标题 |
---|---|---|
1 | x_axis_label | 设置 x 轴标题 |
2 | y_axis_label | 设置 y 轴标题 |
3 | plot_width | 设置图形宽度 |
4 | plot_height | 设置图形高度 |
线图
Figure 对象的line() 方法向 Bokeh 图形添加线型 Glyph。它需要 x 和 y 参数作为数据数组,以显示它们的线性关系。
from bokeh.plotting import figure, show fig = figure() fig.line(x,y) show(fig)
以下代码以 Python 列表对象的形式呈现两组值之间的简单线图:
from bokeh.plotting import figure, output_file, show x = [1,2,3,4,5] y = [2,4,6,8,10] output_file('line.html') fig = figure(title = 'Line Plot example', x_axis_label = 'x', y_axis_label = 'y') fig.line(x,y) show(fig)
输出
条形图
图形对象有两种不同的方法来构建条形图
hbar()
条形图水平显示在绘图宽度上。hbar() 方法具有以下参数:
序号 | y | 水平条形中心的 y 坐标。 |
---|---|---|
1 | height | 垂直条形的高度。 |
2 | right | 右边缘的 x 坐标。 |
3 | left | 左边缘的 x 坐标。 |
以下代码是使用 Bokeh 的水平条形图示例。
from bokeh.plotting import figure, output_file, show fig = figure(plot_width = 400, plot_height = 200) fig.hbar(y = [2,4,6], height = 1, left = 0, right = [1,2,3], color = "Cyan") output_file('bar.html') show(fig)
输出
vbar()
条形图垂直显示在绘图高度上。vbar() 方法具有以下参数:
序号 | x | 垂直条形中心的 x 坐标。 |
---|---|---|
1 | width | 垂直条形的宽度。 |
2 | top | 顶部边缘的 y 坐标。 |
3 | bottom | 底部边缘的 y 坐标。 |
以下代码显示垂直条形图:
from bokeh.plotting import figure, output_file, show fig = figure(plot_width = 200, plot_height = 400) fig.vbar(x = [1,2,3], width = 0.5, bottom = 0, top = [2,4,6], color = "Cyan") output_file('bar.html') show(fig)
输出
面片图
在 Bokeh 中,用特定颜色对空间区域进行着色以显示具有相似属性的区域或组的图表称为面片图。Figure 对象为此目的具有 patch() 和 patches() 方法。
patch()
此方法将面片 Glyph 添加到给定的图形。该方法具有以下参数:
1 | x | 面片点的 x 坐标。 |
2 | y | 面片点的 y 坐标。 |
通过以下 Python 代码获得简单的面片图:
from bokeh.plotting import figure, output_file, show p = figure(plot_width = 300, plot_height = 300) p.patch(x = [1, 3,2,4], y = [2,3,5,7], color = "green") output_file('patch.html') show(p)
输出
patches()
此方法用于绘制多个多边形面片。它需要以下参数:
1 | xs | 所有面片的 x 坐标,以“列表的列表”形式给出。 |
2 | ys | 所有面片的 y 坐标,以“列表的列表”形式给出。 |
作为 patches() 方法的示例,运行以下代码:
from bokeh.plotting import figure, output_file, show xs = [[5,3,4], [2,4,3], [2,3,5,4]] ys = [[6,4,2], [3,6,7], [2,4,7,8]] fig = figure() fig.patches(xs, ys, fill_color = ['red', 'blue', 'black'], line_color = 'white') output_file('patch_plot.html') show(fig)
输出
散点标记
散点图非常常用,用于确定两个变量之间的双变量关系。使用 Bokeh 为其添加了增强的交互性。通过调用 Figure 对象的 scatter() 方法获得散点图。它使用以下参数:
1 | x | 中心 x 坐标的值或字段名称 |
2 | y | 中心 y 坐标的值或字段名称 |
3 | size | 屏幕单位中大小的值或字段名称 |
4 | marker | 标记类型的的值或字段名称 |
5 | color | 设置填充和线条颜色 |
Bokeh 中定义了以下标记类型常量:
- 星号
- 圆形
- 圆形十字
- 圆形 X
- 十字
- 短划线
- 菱形
- 菱形十字
- 六边形
- 倒三角形
- 正方形
- 正方形十字
- 正方形 X
- 三角形
- X
以下 Python 代码生成带有圆形标记的散点图。
from bokeh.plotting import figure, output_file, show fig = figure() fig.scatter([1, 4, 3, 2, 5], [6, 5, 2, 4, 7], marker = "circle", size = 20, fill_color = "grey") output_file('scatter.html') show(fig)