记录一些python绘图上的小技巧,可能平时用不到,但是需要时还是有必要的。
### 自由设置x轴标签,并且使得x、y范围的lim, mon=np.arange(1,13,1) m=np.array(['01-01','03-01','05-01','07-01','09-01','11-01','12-31']) fig=plt.figure(figsize=(10,8),dpi=150) ax=fig.add_subplot(111) ax.plot(mon,rmse2017*100) ax.set_xlim(1,12) ax.set_xticks(np.linspace(1, 12,7)) ax.set_ylim(-5,26) ax.set_xticklabels(m) ax.tick_params(which='major',direction='in', pad=10,labelsize=15,axis='both',bottom=True, left=True, right=False, top=False) ax.set_ylabel('Rmse/ cm',fontsize=20) ax.set_xlabel('month/day',fontsize=20) ax.set_ylim(0.1,0.31) ### 使得图像右边和上边没有颜色 ax.spines['right'].set_color('none') ax.spines['top'].set_color('none') ### 使得colorbar放置在图片最下方,并且设置colorbar的字体大小以及放置方向、保存文件的格式 ax3=fig.add_axes([0.25,0.05,0.5,0.015]) cb=fig.colorbar(plot,cax=ax3,shrink=0.9,orientation='horizontal',pad=0.04,aspect=10) cb.ax.tick_params(labelsize=10) fig.savefig(r'sla_2017_month.png',format='png') ### 修改坐标刻度上的数字 -只有一幅图的情况 plt.yticks(fontproperties='Times NewRoman',size=16) ### 修改坐标刻度上的数字 -有多幅图的情况 ax.set_yticks(np.arange(lowlat+1,upperlat+1),crs=ccrs.PlateCarree()) ylabels=ax.get_yticks() ax.set_yticklabels(labels=ylabels,fontdict={'family':'Times NewRoman','size':16}) #设置colorbar的单位及字体大小 cb.ax.tick_params(labelsize=16) #设置色标刻度字体大小。 font = {'family' : 'serif', 'color' : 'darkred', 'weight' : 'normal', 'size' : 16, } cb.set_label('colorbar',fontdict=font) #设置colorbar的标签字体及其大小 ## 设置子图之间的距离 fig.tight_layout() plt.subplots_adjust(wspace =0.4, hspace =0.05)