matplotlib等值线图需求设置统一colorbar时的折中方案

        plt.contour和plt.contourf由于作图机制原因在多个子图的情况下无法设置统一colorbar, 因此提出几种折中办法。

目录

1  更换图类

2  设定v值范围


1  更换图类

        将plt.counterf 换为 plt.bcolor 或 plt.imshow,这可能会引发一些图像差异

plt.contourf
plt.bcolor
plt.imshow

         后两者无法获得等值线信息,且获得光滑图像需要较高的像素(上图像素为1000*1000),因此批处理时往往难以使用。另外plt.imshow仅仅输入z值,因此对非均布数据非常不友好。但这两者都可以在多子图情况下获得统一的colorbar.

2  设定v值范围

        通过添加v值范围,可以锁定图案颜色:

plt.contourf(x ,y ,z) (1)
plt.contourf(x ,y ,z) (2)
plt.contourf(x ,y ,z,vmin = -1.2,vmax = 1.2)(1)
plt.contourf(x ,y ,z,vmin = -1.2,vmax = 1.2)(2)

         尽管每张子图依旧按默认的level进行了分层,但可以看出,同一颜色对应的数值在不同图片中也是相同的。但这种方法无法直接获得统一的colorbar,还需要单独获得统一的colorbar: 将contourf换为pcolor,作图截取即可。

plt.pcolor(x ,y ,z,vmin = -1.2,vmax = 1.2)

        ↑这张图,我们只需要他的colorbar。

 

 

 

 

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值