爱气象,爱气象家园! 

气象家园

 找回密码
 立即注册

QQ登录

只需一步,快速开始

新浪微博登陆

只需一步, 快速开始

搜索
12
返回列表 发新帖
楼主: XzzX_y

[求助] Python | 请问多子图共用一个Colorbar如何设置?

[复制链接]

新浪微博达人勋

发表于 2023-6-26 22:25:40 | 显示全部楼层
XzzX_y 发表于 2023-6-26 21:19
收到,感谢您的回复!
'cb = plt.colorbar(cf, ax=[ax1, ax2, ax3, ax4])',如果我没理解错的 ...

不是的,这个命令跑出来只有一个colorbar,cf是contourf的结果,即cf = ax.contourf(...)
密码修改失败请联系微信:mofangbao
回复

使用道具 举报

新浪微博达人勋

 楼主| 发表于 2023-6-26 22:37:13 | 显示全部楼层
SunJiaming 发表于 2023-6-26 22:25
不是的,这个命令跑出来只有一个colorbar,cf是contourf的结果,即cf = ax.contourf(...)

好的好的。抱歉,我的理解错误,我再琢磨琢磨哈,感谢回复!
密码修改失败请联系微信:mofangbao
回复

使用道具 举报

新浪微博达人勋

发表于 2023-6-27 06:31:39 来自手机 | 显示全部楼层
你的colorbar是自动创建的,会根据匹配的ax自动设定最大最小值。
我给你贴一个我的代码,手动创建数据标签和颜色表,把四个图的最大最小值都包住。在我的代码里,数据标签和颜色表都是list,且后者长度比前者多1,因为我的要创建上下两个三角形,你可以自行调整
比如,dataLevel=[-20,0,20]
dataLevelColors=['b','y','r','k']
Screenshot_20230627_062319.jpg
密码修改失败请联系微信:mofangbao
回复

使用道具 举报

新浪微博达人勋

发表于 2023-6-27 06:34:07 来自手机 | 显示全部楼层
plt.cm自动颜色表也可以设定最大值最小值和步长,文档里有,如果你是一锤子买卖,不涉及代码复用,可以看看说明文档
密码修改失败请联系微信:mofangbao
回复

使用道具 举报

新浪微博达人勋

 楼主| 发表于 2023-6-27 12:34:08 | 显示全部楼层
毕业两年的小白 发表于 2023-6-27 06:31
你的colorbar是自动创建的,会根据匹配的ax自动设定最大最小值。
我给你贴一个我的代码,手动创建数据标签 ...

收到,辛苦您了!感谢
密码修改失败请联系微信:mofangbao
回复

使用道具 举报

新浪微博达人勋

发表于 2023-6-29 10:20:44 | 显示全部楼层
······
norm1 = mpl.colors.Normalize(vmin=0,vmax=27)
CS1 = ax1.contourf(x[0:10,:],y[0:10,:],KE_D1[0:10,:],20,cmap =cmap,norm = norm1)
·······
CS2 = ax2.contourf(x[0:10,:],y[0:10,:],KE_D1[0:10,:],20,cmap =cmap,norm = norm1)
······
CS3 = ax3.contourf(x[0:10,:],y[0:10,:],KE_D1[0:10,:],20,cmap =cmap,norm = norm1)
······
plt.colorbar(CS1,ax = [ax1,ax2,ax3],shrink = 0.5)
密码修改失败请联系微信:mofangbao
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册 新浪微博登陆

本版积分规则

Copyright ©2011-2014 bbs.06climate.com All Rights Reserved.  Powered by Discuz! (京ICP-10201084)

本站信息均由会员发表,不代表气象家园立场,禁止在本站发表与国家法律相抵触言论

快速回复 返回顶部 返回列表