数据长度不均匀的分组条形图标签?

2024-05-23 19:55:23 发布

您现在位置:Python中文网/ 问答频道 /正文

我正在处理一个包含不均匀数据长度的绘图。我创建了另一组女性(绿色条),我想标记这两个女性组F1F2

这是我的密码:

import matplotlib
import matplotlib.pyplot as plt
import numpy as np

labels = ['G1', 'G2', 'G3', 'G4']
labels2 = ['F1', 'F2'] 
male = [1, 3, 10, 20]
female = [2, 7]
female_2 = [3, 11]

x_male = np.arange(len(male))
x_female = np.arange(len(female))

offset_male = np.zeros(len(male))
offset_female = np.zeros(len(female))

shorter = min(len(x_male), len(x_female))

width = 0.25  # the width of the bars

offset_male[:shorter] = width/2
offset_female[:shorter] = width/2

fig, ax = plt.subplots()
rects1 = ax.bar(x_male - offset_male, male, width, label='male')
rects2 = ax.bar(x_female + offset_female, female, width, label='female')
rects3 = ax.bar(x_female + 3 * offset_female, female_2, width, label='female')

# Add some text for labels, title and custom x-axis tick labels, etc.
ax.set_xticks(x_male)
ax.set_xticklabels(labels)
ax.legend()

fig.tight_layout()
plt.show()

enter image description here

你知道我怎么做吗


Tags: importlabelslennpbarpltaxwidth