爱气象,爱气象家园! 

气象家园

 找回密码
 立即注册

QQ登录

只需一步,快速开始

新浪微博登陆

只需一步, 快速开始

搜索
查看: 12694|回复: 4

[求助] 求助怎么使图中的颜色不随值的缺失而发生变化

[复制链接]

新浪微博达人勋

发表于 2020-8-1 23:30:17 | 显示全部楼层 |阅读模式

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

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

x
本帖最后由 Edcee3003 于 2020-8-2 08:41 编辑

今天作图时设置了一个数组,其中0代表clear、1代表clutter、2代表Rain、3代表Cloud、4代表Icecloud,作图发现,因为有些图缺失了部分值(如下图中缺失了Icewater),导致图中没有4这一值,使原来设定的3和4的颜色混了,而且colorbar也会很难看,求助怎么固定其中的值代表的颜色使其不随缺失某个值而发生变化,以下是源码以及问题图与一张正常图示例:    fig = plt.figure(figsize=(20,8))
    ax = plt.subplot(111)
    colors = ['white','aqua','purple','orange','blue']
    bounds = [0,1,2,3,4,5]
    #cmap设置以及normaliza设置
    cmap = mpl.colors.ListedColormap(colors)
    norm = mpl.colors.BoundaryNorm(bounds, cmap.N)
    im = ax.imshow(feature_mask , cmap=cmap , interpolation='none',origin='lower', aspect='auto')
    cbar_bounds = [-0.5, 0.5, 1.5, 2.5, 3.5, 4.5]
    cbar_ticks = [ 0, 1, 2, 3, 4]  
    cbar_labels = ['Clear', 'Cloud','Rain','Clutter','Icewater']
    cbar = plt.colorbar(im, boundaries=cbar_bounds, ticks=cbar_ticks)
    cbar.ax.set_yticklabels(cbar_labels, fontsize=16)
    plt.title('Flag, Chirp co-pol '+time_str, fontsize=24)
    plt.savefig('D:\\KAZR_FIG\\'+year_str+'\\'+month_str+'\\Flag_co-pol '+time_str+'.png')
    plt.close('all')

问题图

问题图

正常图

正常图

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

新浪微博达人勋

 楼主| 发表于 2020-8-1 23:40:52 | 显示全部楼层
第一张图是问题图,第二张图是正常图
密码修改失败请联系微信:mofangbao
回复 支持 反对

使用道具 举报

新浪微博达人勋

 楼主| 发表于 2020-8-2 09:39:29 | 显示全部楼层
本帖最后由 Edcee3003 于 2020-8-2 09:56 编辑

我找到了一个权宜之计,把feature_mask[1,1]设置为冰云,就会显示正常,但是这么做感觉不太妥当,求哪位大神教教我如何彻底解决这个问题{:eb303:}{:eb303:}
密码修改失败请联系微信:mofangbao
回复 支持 反对

使用道具 举报

新浪微博达人勋

发表于 2020-8-3 14:16:38 | 显示全部楼层
你弄了个norm对象,但是并没有在画图时指定imshow(norm=norm),不知道是不是这个原因
密码修改失败请联系微信:mofangbao
回复 支持 反对

使用道具 举报

新浪微博达人勋

 楼主| 发表于 2020-8-3 17:32:07 | 显示全部楼层
灭火器 发表于 2020-8-3 14:16
你弄了个norm对象,但是并没有在画图时指定imshow(norm=norm),不知道是不是这个原因

我去,还真是,憨了居然没注意加norm,谢谢老铁!
密码修改失败请联系微信:mofangbao
回复 支持 反对

使用道具 举报

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

本版积分规则

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

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

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