📅  最后修改于: 2023-12-03 15:08:57.704000             🧑  作者: Mango
在Python中,可以使用matplotlib库来绘制分组条形图,并用注释来说明每个条形的具体数值或含义。
下面是一个使用matplotlib绘制分组条形图并注释条形的示例代码:
import matplotlib.pyplot as plt
data_a = [22, 28, 18, 27, 25]
data_b = [20, 23, 19, 22, 21]
x_ticks = ['A', 'B', 'C', 'D', 'E']
x_pos = [i for i, _ in enumerate(x_ticks)]
bar_width = 0.35
fig, ax = plt.subplots()
rects1 = ax.bar(x_pos, data_a, bar_width, label='Data A')
rects2 = ax.bar([x + bar_width for x in x_pos], data_b, bar_width, label='Data B')
ax.set_xticks([x + bar_width / 2 for x in x_pos])
ax.set_xticklabels(x_ticks)
ax.legend()
for rect in rects1 + rects2:
height = rect.get_height()
ax.annotate(f'{height}', xy=(rect.get_x() + rect.get_width() / 2, height), xytext=(0, 3),
textcoords="offset points", ha='center', va='bottom')
plt.show()
在上述代码中,我们首先定义了两个数据集data_a和data_b,以及x轴上每个条形的标签x_ticks和对应位置x_pos。我们先通过enumerate()函数获取每个标签对应的位置,然后用bar()函数创建条形。
接着,我们通过set_xticks()和set_xticklabels()函数设置x轴刻度和标签,以及使用legend()函数设置图例。最后,我们使用annotate()函数在每个条形上方添加注释,其中xy指注释的位置,xytext指注释文本的位置以及偏移量,ha和va指注释水平和垂直对齐方式。
运行上面的代码,可以得到如下所示的分组条形图,并在每个条形上注释了相应的数值:
以上就是如何在Python中的分组条形图中注释条形的方法。