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

使用Bokeh库绘制饼图和柱状图

发布时间:2023-12-23 04:07:16

Bokeh是一个用于交互式数据可视化的Python库。它提供了许多功能强大的绘图工具,如绘制饼图、柱状图、散点图等。在本文中,我将介绍如何使用Bokeh库绘制饼图和柱状图,并提供一些示例代码。

首先,我们需要安装Bokeh库。可以使用pip命令来安装它:

pip install bokeh

安装完毕后,我们可以开始绘制饼图。饼图是一种用于显示数据相对比例的图表,适用于展示各类别占比。

以下是一个绘制饼图的例子:

from bokeh.plotting import figure, show
from bokeh.io import output_notebook
from bokeh.transform import cumsum
from bokeh.palettes import Category10

# 准备数据
data = {'category': ['A', 'B', 'C', 'D', 'E'],
        'values': [10, 20, 30, 15, 25]}

# 创建一个饼图
p = figure(plot_width=400, plot_height=400)

# 将数据转换为相对比例
data['angle'] = data['values'] / data['values'].sum() * 2 * pi

# 添加饼图扇形
p.wedge(x=0, y=0, radius=0.4,
        start_angle=cumsum('angle', include_zero=True), 
        end_angle=cumsum('angle'),
        line_color='white', fill_color=Category10[5], 
        legend_field='category', source=data)

# 输出到Notebook中
output_notebook()

# 显示图表
show(p)

该示例中,我们首先准备了一组数据,其中包含了五个类别的数值。然后,我们创建了一个Figure对象,指定了图表的宽度和高度。接着,我们计算了每个类别的相对比例,并根据这些比例创建了饼图的扇形。最后,我们将图表输出到Notebook中并显示出来。

接下来,我们将介绍如何使用Bokeh库绘制柱状图。柱状图是一种用于显示不同类别之间比较的图表,适用于展示离散数据。

以下是一个绘制柱状图的例子:

from bokeh.plotting import figure, show
from bokeh.io import output_notebook
from bokeh.palettes import Category10

# 准备数据
data = {'category': ['A', 'B', 'C', 'D', 'E'],
        'values': [10, 20, 30, 15, 25]}

# 创建一个柱状图
p = figure(x_range=data['category'], plot_height=400, plot_width=400)

# 添加柱状图柱子
p.vbar(x='category', top='values', width=0.9, source=data,
       line_color='white', fill_color=Category10[5], alpha=0.8)

# 输出到Notebook中
output_notebook()

# 显示图表
show(p)

在这个示例中,我们首先准备了一组数据,其中包含了五个类别的数值。接着,我们创建了一个Figure对象,并指定了x轴上的类别。然后,我们使用vbar函数添加了柱状图的柱子。最后,我们将图表输出到Notebook中并显示出来。

通过上述示例,我们学习了如何使用Bokeh库绘制饼图和柱状图,并通过示例代码演示了具体的绘制过程。Bokeh库不仅提供了丰富的绘图功能,还支持交互式操作和可视化效果的个性化定制,能够满足各类数据可视化的需求。希望本文能对你学习Bokeh库的使用有所帮助。