本节学习使用python绘制分组柱状图
代码如下:
# 导入numpy和matplotlib.pyplot库,分别用于数值计算和绘图
import numpy as np
import matplotlib.pyplot as plt
# 定义组标签,用于图例和数据标识
gruop_label = ['第一组', '第二组', '第三组']
# 定义每组柱状图的颜色
gruop_color = ['red', 'green', 'yellow']
# 定义x轴的位置,这里生成一个从1到7,步长为2的数组,表示柱状图的中心位置
x = np.arange(1, 7, 2)
# 定义三组数据,分别对应y1、y2和y3
y1 = np.arange(1, 7, 2)
y2 = np.arange(3, 9, 2)
y3 = np.arange(5, 11, 2)
# 将三组数据存储在一个列表中,方便后续循环处理
y_list = [y1, y2, y3]
# 设置matplotlib的参数,确保中文标签可以正常显示
plt.rcParams['font.sans-serif'] = ['SimHei']
# 设置matplotlib的参数,确保负号可以正常显示
plt.rcParams['axes.unicode_minus'] = False
# 创建一个1行1列的子图,返回图形对象fig和轴对象ax
fig, ax = plt.subplots(1, 1)
# 定义柱状图的宽度
width = 0.5
# 循环绘制每组柱状图
for index in range(len(y_list)):
# 在x轴上偏移index*width的位置绘制柱状图,使用当前组的颜色和标签
bar = ax.bar(x + index * width, y_list[index], edgecolor="black", label=gruop_label[index], width=width, color=gruop_color[index])
# 为柱状图添加数据标签,显示在柱状图的边缘
ax.bar_label(bar, label_type="edge")
# 添加图例,显示每组柱状图的标签
ax.legend()
# 显示绘制的图形
plt.show()