两个Y序列都是字符串而不是数值类型,所以显示不对,应该改为数值类型就可以了。如下:
from pylab import mpl
import numpy as np
mpl.rcParams['font.sans-serif']=['FangSong']
import matplotlib.pylab as plt
X=[1,2,3,4,5,6,7,8]
Y1= [2.5,82.7,3.3,25.1,84.4,97.2,81.8,78.0]
Y2=[34.4,43.0,62.2, 96.9,8.2,76.6, 24.7,48.5]
plt.plot(X, Y1, color='r', marker='o', mfc='w')
plt.plot(X, Y2, color='b', marker='o', mfc='w')
for x, y in zip(X, Y1):
plt.text(x, y, y, ha='center', va='bottom')
for x,y in zip(X,Y2):
plt.text(x, y, y, ha='center', va='bottom')
xlables = [u'X001', u'X002', u'X003', u'X004' , u'X005', u'X006', u'X007', u'X008 ']
plt.xticks(X, xlables)
plt.yticks(np.arange(0,100,step=20))
plt.show()