|
|

楼主 |
发表于 2019-3-28 19:33:23
|
显示全部楼层
- 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)
复制代码 |
|