python画填色图时,如何让分层的填色变为渐变色

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,···,0
cb.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,···,0
cb.set_ticks(le)
cb.ax.set_title('(m)', fontsize = 12)  

新出的图就是这样渐变色的啦!
在这里插入图片描述

  • 6
    点赞
  • 39
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值