爱气象,爱气象家园! 

气象家园

 找回密码
 立即注册

QQ登录

只需一步,快速开始

新浪微博登陆

只需一步, 快速开始

搜索
查看: 5958|回复: 0

[经验总结] python Colorbar设置特定范围和显示对应值

[复制链接]

新浪微博达人勋

发表于 2021-12-2 17:15:40 | 显示全部楼层 |阅读模式

登录后查看更多精彩内容~

您需要 登录 才可以下载或查看,没有帐号?立即注册 新浪微博登陆

x
本帖最后由 南极的七色鹿 于 2021-12-2 18:53 编辑

【问题】将matplotlib与等高线图(coutourf)一起使用时,无法根据自己的需要显示颜色条。
【目的】
1、在颜色栏上显示最小值和最大值(假设最大值想设置为1.0,最小值为-2.0),这两个值应该在色条的边缘。
2、希望颜色条在每个颜色转换处显示值。
【程序和图片】附件有注意事项、程序、图片

【处理之前的程序】
import matplotlib.pyplot as plt
import numpy as np
plt.style.use('_mpl-gallery-nogrid')
# make data
X, Y = np.meshgrid(np.linspace(-3, 3, 256), np.linspace(-3, 3, 256))
Z = (1 - X/2 + X**5 + Y**3) * np.exp(-X**2 - Y**2)
# plot
fig, ax = plt.subplots()
m = ax.contourf(X, Y, Z,cmap=cmap=plt.cm.YlGnBu)cbar = plt.colorbar(m,shrink=1.0)
plt.show()
【处理之后的程序】
import matplotlib.pyplot as plt
import numpy as np
plt.style.use('_mpl-gallery-nogrid')
# make data
X, Y = np.meshgrid(np.linspace(-3, 3, 256), np.linspace(-3, 3, 256))
Z = (1 - X/2 + X**5 + Y**3) * np.exp(-X**2 - Y**2)
levels = np.linspace(-2.0, 2.0, 9)
# plot
fig, ax = plt.subplots()
m=ax.contourf(X,Y,Z,levels=levels.round(1),cmap=plt.cm.YlGnBu)
cbar = plt.colorbar(m,shrink=1.0)
plt.show()

【ps】第一次发帖,记录一下,希望可以帮到uu们~




图片前后对比.png

程序图片及注意点.docx

63.61 KB, 下载次数: 4, 下载积分: 金钱 -5

密码修改失败请联系微信:mofangbao
您需要登录后才可以回帖 登录 | 立即注册 新浪微博登陆

本版积分规则

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

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

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