fig = plt.figure(6,figsize=(14,8))
ax =fig.add_subplot(111) #有必要设置子画框吗?
locator =mdates.AutoDateLocator() #这里时间间隔自动选取,下面一句又设置间隔是小时?
locator.intervald['HOURLY'] =[1] #这里的[1]代表什么意思?
Xle,Y_DPR,Y_RAIN = data.index,data['DPR'],data['RAIN']
ax1 = ax.plot(Xle,Y_DPR,'-o',color = 'b',ms =10,lw =1,alpha = 0.7,mfc = 'orange',label ='水位值')
ax2 = ax.bar(Xle,Y_RAIN,width= 0.02,alpha = 0.4,label = '雨量值',yerr = 0.1,fc ='y')
ax.xaxis.set_major_locator(locator) #初始化主轴模块??
ax.xaxis.set_major_formatter(mdates.DateFormatter('%H:%M:%S'))
#如果要改成年月日时分秒的格式是:%Y-%m-%d %H:%M:%S,对吗?
#我还有一个类似代码,却报错,内容如下:
# DateFormatter found a value of x=0, which is an illegal date.
# This usually occurs because you have not informed the axis that it is plotting dates, e.g., with ax.xaxis_date()
plt.xticks(Xle,fontsize =8)
fig.autofmt_xdate() #这个是设置日期格式自动旋转显示么?
ax.xaxis.grid(True,which ='major')
plt.yticks(np.arange(-2.0,3.2,0.2),fontsize = 10)
ax.yaxis.set_major_locator(MultipleLocator(1)) #是否Y轴方向上主刻度值间隔为1?
ax.yaxis.set_major_formatter(FormatStrFormatter('%1.1f'))
ax.yaxis.set_minor_locator(MultipleLocator(0.1))
ax.axhline(y=0,c ='k')
for n,m in zip(Xle,Y_DPR):
plt.annotate(round(m,3),xy=(n,m),xytext=(n+datetime.timedelta(seconds = 20*60),m-0.2))
plt.xlabel('datetime()',fontsize =15)
plt.ylabel('value()',fontsize = 15)
plt.legend(loc =1,fontsize = 'large')
plt.axhspan(0,3.2,fc ='r',alpha = 0.1)
plt.axhspan(-2,0,fc='g',alpha =0.1)
plt.grid(False)
ax.set_title('2011/02/19 全天雨量水位走势',fontsize =20,color ='b')
plt.yticks(np.arange(-2.0,3.2,0.8),fontsize=10)