以下是一个使用Python和Matplotlib库绘制避开式条形图的示例代码:
import matplotlib.pyplot as plt
# 数据
categories = ['A', 'B', 'C', 'D', 'E']
values1 = [20, 35, 30, 35, 27]
values2 = [25, 32, 34, 20, 25]
# 计算条形的间隔和宽度
bar_width = 0.4
bar_spacing = 0.2
index = range(len(categories))
# 绘制避开式条形图
fig, ax = plt.subplots()
rects1 = ax.bar(index, values1, bar_width, color='b', label='Value 1')
rects2 = ax.bar([i + bar_width + bar_spacing for i in index], values2, bar_width, color='r', label='Value 2')
# 添加标签和标题
ax.set_xlabel('Categories')
ax.set_ylabel('Values')
ax.set_title('Avoidance Bar Chart')
ax.set_xticks([i + bar_width / 2 for i in index])
ax.set_xticklabels(categories)
ax.legend()
# 显示图形
plt.show()
这段代码首先定义了两个数据集categories和values,分别表示条形图的类别和对应的值。然后,计算了条形的间隔和宽度,并使用plt.subplots()
创建了一个图形和坐标轴对象。
接下来,使用ax.bar()
方法绘制了两组条形,并指定了颜色和标签。在绘制第二组条形时,通过计算得到了正确的x坐标位置,以实现避开式的效果。
最后,通过一系列的ax.set_*()
方法设置了坐标轴标签、标题和刻度。最后调用plt.show()
方法显示图形。