爱气象,爱气象家园! 

气象家园

 找回密码
 立即注册

QQ登录

只需一步,快速开始

新浪微博登陆

只需一步, 快速开始

搜索
查看: 27280|回复: 4

[求助] colormap色标轴数值标注

[复制链接]

新浪微博达人勋

发表于 2021-4-20 09:48:17 | 显示全部楼层 |阅读模式

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

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

x
想画一个蒲氏风力的色标,网上搜了一下没找到什么办法,就准备自己标注,选择了NCL的wind_17lev, wind_17lev_labelbar.500.png
导入了大神的cmaps,但是始终只能标注到20.7,再往上就显示不出来了,
2008070100sfc.png 请教该如何解决,代码如下
  1. windspeed = np.array([3.3,5.4,7.9,10.7,13.8,17.1,20.7,24.4,28.4,32.6,36.9,41.4,46.1])
  2. cf = ax.contourf(lon_2d, lat_2d, speed, windspeed, cmap= cmaps.wind_17lev, extend='both', transform=proj)
  3. cb = plt.colorbar(cf, fraction=0.012, pad=0.05, aspect=32)#orientation='horizontal'调整为横向色标,pad主图和色标间距离,aspect长短,fraction粗细
  4. ax3 = cb.ax
  5. ax3.ylocator = mticker.FixedLocator(windspeed)
  6. ax3.set_yticklabels(windspeed, fontsize=40)
复制代码


密码修改失败请联系微信:mofangbao

新浪微博达人勋

发表于 2021-4-21 13:56:42 | 显示全部楼层
在第二行的contourf中加入levels=windspeed即可
密码修改失败请联系微信:mofangbao
回复 支持 反对

使用道具 举报

新浪微博达人勋

 楼主| 发表于 2021-4-23 10:29:27 | 显示全部楼层
Masterpiece 发表于 2021-4-21 13:56
在第二行的contourf中加入levels=windspeed即可

尝试了一下,问题不是在这里,问题是只能标注7个坐标值,开始会报错,以为是matplotlib的问题,降级之后虽然不报错,但是还是标注不出来。
密码修改失败请联系微信:mofangbao
回复 支持 反对

使用道具 举报

新浪微博达人勋

发表于 2021-4-26 11:02:45 | 显示全部楼层
本帖最后由 callmezoro 于 2021-4-26 11:31 编辑

试了一下发现是FixedLocator的问题,但是这个函数我没太用过,提供一个其他的解决方式吧
  1. import matplotlib.pyplot as plt
  2. import numpy as np
  3. import cmaps
  4. from matplotlib.colors import ListedColormap
  5. windspeed = np.array([3.3,5.4,7.9,10.7,13.8,17.1,20.7,24.4,28.4,32.6,36.9,41.4,46.1])
  6. cm = cmaps.wind_17lev(np.linspace(0, 1, 13))
  7. cm = ListedColormap(cm)
  8. cs = plt.contourf(np.random.random((100,100)) * 46, levels = windspeed, cmap = cm)
  9. cb = plt.colorbar(cs)
  10. cb.set_ticks(windspeed)
  11. ax.set_yticklabels(windspeed)
复制代码
Figure 2021-04-26 112919.png
listedcolormap那句看你心情,主要是你选的colormap有17个颜色,你需要13个,所以我设置了一下等间隔的取17个颜色里的13个颜色,个人习惯可以忽略
密码修改失败请联系微信:mofangbao
回复 支持 反对

使用道具 举报

新浪微博达人勋

 楼主| 发表于 2021-4-26 12:55:26 | 显示全部楼层
callmezoro 发表于 2021-4-26 11:02
试了一下发现是FixedLocator的问题,但是这个函数我没太用过,提供一个其他的解决方式吧
listedcolormap那 ...

非常感谢,这两天一直在纠结这个问题,原来把色标分一下就可以解决这个非均匀坐标
密码修改失败请联系微信:mofangbao
回复 支持 反对

使用道具 举报

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

本版积分规则

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

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

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