python画填色图时,如何让分层的填色变为渐变色
注:自己用来备忘的
以画海洋的地形图为例
数据为一个三位数据,有经度(lon),纬度(lat),高度(z)三个变量。
我们绘制的地形图为了美观,只想让colobar显示-100~0之间的高度,我们的代码如下:
level = [-100,-90,-80,-70,-60,-50,-40,-30,-20,-10,0]#绘制填色图a = ax.contourf(lon, lat, z, level, extend='both') #制作色条cb = plt.colorbar(a,ax = ax,shrink=0.78)#设置色条的刻度,使其表示为-100,···,0cb.set_ticks(level)cb.ax.set_title('(m)', fontsize = 12)
得到的图片如下图所示
可以看出,色条不是渐变色,有明显分界,填色图中不同高度间的颜色也是明显分界的
接下来就是让色条变成渐变色
level = range(-100,0)#渐变色的关键就是level是连续的le = [-100,-90,-80,-70,-60,-50,-40,-30,-20,-10,-1,0]#le是色条需要显示的刻度值#绘制填色图a = ax.contourf(lon, lat, z, level, extend='both', cmap = 'viridis') #制作色条cb = plt.colorbar(a,ax = ax,shrink=0.78)#设置色条的刻度,使其表示为-100,···,0cb.set_ticks(le)cb.ax.set_title('(m)', fontsize = 12)
新出的图就是这样渐变色的啦!
如果觉得《python画填色图时 如何让分层的填色变为渐变色》对你有帮助,请点赞、收藏,并留下你的观点哦!