matplotlib笔记3 柱状图

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='red', edgecolor='white')
plt.bar(X, -Y2, facecolor='blue', edgecolor='white')
new_linspace1=np.linspace(0,12,11)
plt.xlim(-0.5, n)
plt.xticks(new_linspace1,[r'Jan',r'Feb',r'Mar',r'Apr',r'May',r'Jun',r'July',r'Aug',r'Sep',r'Oct',r'Nov',r'Dec'],ha='center')

plt.ylim(-1.25, 1.25)
plt.yticks(())
ax=plt.gca()
ax.spines['right'].set_color('none')
ax.spines['left'].set_color('none')
ax.spines['top'].set_color('none')
ax.spines['bottom'].set_color('none')
ax.xaxis.set_ticks_position('bottom')
ax.spines['bottom'].set_position(('data',0))
ax.xaxis.set_ticks_position('bottom')
for x, y in zip(X, Y1):
    # ha: horizontal alignment
    # va: vertical alignment
    plt.text(x, y + 0.05, '%.2f' % y, ha='center', va='bottom')

for x, y in zip(X, Y2):
    # ha: horizontal alignment
    # va: vertical alignment
    plt.text(x, -y - 0.05, '%.2f' % y, ha='center', va='top')

plt.show()

matplotlib笔记3 柱状图