Bokeh库的基本绘图功能介绍
发布时间:2023-12-23 04:04:25
Bokeh是一个用于交互式的Web绘图库,主要用于在浏览器中创建各种类型的统计图表和可视化。它支持Python语言,并提供了多种常用绘图功能和配置选项。
使用Bokeh库进行绘图时,有几个基本概念需要了解:Figure、Glyphs、DataSource和Rendering。其中Figure是绘图的核心对象,表示了一个绘图区域,Glyphs用于表示绘图中的图形元素,DataSource用于存储数据,Rendering将Figure、Glyphs和DataSource组合起来生成最终的图像。
下面是Bokeh库的几个基本绘图功能介绍及相应的使用例子:
1. 折线图
折线图是Bokeh库最常用的绘图类型之一,用于显示随时间、数值等变量的趋势。
from bokeh.plotting import figure, show # 创建Figure对象 p = figure(title="折线图示例", x_axis_label='X轴', y_axis_label='Y轴') # 添加折线图形元素 p.line([1, 2, 3, 4, 5], [6, 7, 2, 4, 5], legend="折线图", line_width=2) # 显示图形 show(p)
2. 散点图
散点图用于显示一组二维数据点的分布,可以用于观察变量之间的关系。
from bokeh.plotting import figure, show # 创建Figure对象 p = figure(title="散点图示例", x_axis_label='X轴', y_axis_label='Y轴') # 添加散点图形元素 p.circle([1, 2, 3, 4, 5], [6, 7, 2, 4, 5], legend="散点图", size=10, color="red") # 显示图形 show(p)
3. 柱状图
柱状图用于显示不同类别的数据,以直方图形式展示各类别的数量或比例。
from bokeh.plotting import figure, show # 创建Figure对象 p = figure(title="柱状图示例", x_range=['A', 'B', 'C'], y_axis_label='Y轴') # 添加柱状图形元素 p.vbar(x=['A', 'B', 'C'], top=[2, 5, 3], width=0.9, legend="柱状图") # 显示图形 show(p)
4. 饼图
饼图用于显示数据的相对比例,通常用于展示各类别的占比。
from bokeh.plotting import figure, show # 创建Figure对象 p = figure(title="饼图示例") # 添加饼图形元素 p.wedge(x=0, y=0, radius=0.8, start_angle=0, end_angle=0.8*2*3.14159, legend="饼图", color=['red', 'green']) # 显示图形 show(p)
5. 热力图
热力图用于显示二维数据的密度分布,通常用于观察某个区域内的数据分布情况。
import numpy as np
from bokeh.plotting import figure, show
from bokeh.models import ColorBar
from bokeh.transform import linear_cmap
from bokeh.palettes import Viridis256
# 生成二维数据
data = np.random.rand(10, 10)
# 创建Figure对象
p = figure(title="热力图示例")
# 添加热力图形元素
p.image(image=[data], x=0, y=0, dw=10, dh=10, palette=linear_cmap('image', Viridis256, 0, 1))
color_bar = ColorBar(color_mapper=linear_cmap('image', Viridis256, 0, 1), location=(0, 0))
p.add_layout(color_bar, 'right')
# 显示图形
show(p)
以上是Bokeh库的基本绘图功能及使用例子的简要介绍。Bokeh还支持众多其他类型的图表和可视化效果,可以根据实际需求选择合适的功能进行使用。
