思路
多组y值(y1,y2,y3)在共用同一个x时,柱状图会相互覆盖,将yi的所有x向某一方向偏移一定量,即可呈现一个x对应多个y的感觉
完整代码
import numpy as np
import matplotlib.pyplot as plt
y1 = np.array([1, 3, 2])
y2 = np.array([2, 1, 3])
y3 = np.array([1.2, 3.3, 4])
x = np.array([2009,2010,2011])
w=0.2
# 正常画出第一个柱状图
plt.bar(x, y1,width=w)
# 对第二个柱状图的x进行小范围偏移,偏移量正好等于柱宽
x1 = x-w
plt.bar(x1, y2,width=w)
# 对第三个柱状图同理向右偏移w
x2 = x+w
plt.bar(x2, y3,width=w)
plt.show()
网友评论