当我们使用ax.contour绘制等值线图的时候,有时候会发现,明明设置的color=‘black',理想的状态应该是所有的等值线图都是黑色,但是绘制出来的效果却有多重颜色:
而看我们的代码:
clevs = np.arange(180,260,20) plot=ax.contour(x2,y2,olr,clevs,color='black',linewidth=10,extend='both') plot=ax.contourf(x,y,mhadv/1000000000, extend='both', levels=levels, cmap=cmap,zorder=1)
似乎是问题不大的,但是绘图过程就会报错:
其实问题恰恰出现在这个color,因为等值线绘图过程中有很多条等值线,如果设置color那么只会指定一条等值线的颜色,其他的颜色就会自动设置,所以我们这里的color需要改为colors,linewidth需要改为linewidths,这样:
clevs = np.arange(180,260,20)
plot=ax.contour(x2,y2,olr,clevs,colors='black',linewidths=2,extend='both')
plot=ax.contourf(x,y,mhadv/1000000000,
extend='both',
levels=levels,
cmap=cmap,zorder=1)
这样就好啦!
同时还可以根据自己想要的颜色和线宽去调整colors和linewidths,绘制自己想要的等值线图啦!
如果想要在等值线图上的每条等值线上显示该等值线的值,我们可以加上下面这句ax.clabel:
plot=ax.contour(x2,y2,olr,clevs,colors='black',linewidths=2,extend='both')
ax.clabel(plot, inline=2, fontsize=12)
效果就是这样啦,可能有点不太美观,可以根据自己的需求进行一些调整!
初次见面,请多关照!希望能解决你的一点小烦恼哦!
一个也也也也在努力学习python的atmosphere菜鸟!
水平有限,欢迎指正!!!
欢迎评论、收藏、点赞、转发、关注。
关注我不后悔,记录学习进步的过程~~