欢迎访问宙启技术站
智能推送

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还支持众多其他类型的图表和可视化效果,可以根据实际需求选择合适的功能进行使用。