CODE1:
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,facecolor='#9999ff',edgecolor='white')
plt.bar(X,-Y2,facecolor='#ff9999',edgecolor='white')
for x,y in zip(X,Y1): # zip表示把X&Y1打包成元组
# ha:horizontal alignment 水平对齐方式
plt.text(x,y+0.05,'%.2f'%y,ha='center',va='bottom') # '%.2f'表示保留两位小数,前面两个参数表示文本的位置
for x,y in zip(X,Y2):
plt.text(x,-y-0.05,'%.2f'%y,ha='center',va='top')
plt.xlim((-.5,n))
plt.ylim((-1.25,1.25))
plt.xticks(())
plt.yticks(())
plt.show()
RESULT: