记录一些python平时可能不用绘图上的小技巧,但需要的时候还是有必要的。
### 自由设置x轴标签,使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)