import matplotlib.pyplot as plt
import numpy as np
n = 12
X = np.arange(n)
Y1 = (1-X/float(n))*np.random.uniform(0.5,1.0,n)
Y2 = (1-X/float(n))*np.random.uniform(0.5,1.0,n)
plt.bar(X,Y1,color='#9999ff',edgecolor='white')
plt.bar(X,-Y2,color='#ff9999',edgecolor='white')
# zip(X,Y)则将X,Y打包
for x,y in zip(X,Y1):
# ha水平对齐方式 va 垂直对齐方式
plt.text(x+0.2,y+0.05,'%.2f'%y,ha='center',va='bottom')
for x,y in zip(X,Y2):
plt.text(x+0.2,-y-0.05,'-%.2f'%y,ha='center',va='top')
plt.xlim(-.5,n)
plt.xticks(()) # 去除x,y坐标轴的刻度
plt.yticks(())
plt.ylim(-1.25,1.25)
plt.show()