下面是一个使用Python的Matplotlib库绘制不同宽度子组条形图的示例代码:
import matplotlib.pyplot as plt
import numpy as np
# 创建数据
groups = ['Group 1', 'Group 2', 'Group 3']
categories = ['Category 1', 'Category 2', 'Category 3']
values = np.array([[12, 17, 10], [15, 12, 13], [9, 10, 15]])
widths = np.array([[0.4, 0.2, 0.3], [0.3, 0.3, 0.4], [0.2, 0.4, 0.2]])
# 设置画布和子图
fig, ax = plt.subplots()
# 绘制条形图
for i in range(len(groups)):
x = np.arange(len(categories))
for j in range(len(categories)):
ax.bar(x[j], values[i][j], width=widths[i][j], label=groups[i])
# 设置x轴标签和标题
ax.set_xticks(np.arange(len(categories)))
ax.set_xticklabels(categories)
ax.set_xlabel('Categories')
ax.set_title('Different Width Subgroup Bar Chart')
# 添加图例
ax.legend()
# 展示图形
plt.show()
这段代码会生成一个包含三个组和三个类别的不同宽度子组条形图。每个组在每个类别上都有一个条形,其宽度由widths
数组指定。每个组的值由values
数组指定。在图形中,x轴表示类别,y轴表示值。每个组的条形以不同的颜色表示,并在图例中显示。