爱气象,爱气象家园! 

气象家园

 找回密码
 立即注册

QQ登录

只需一步,快速开始

新浪微博登陆

只需一步, 快速开始

搜索
查看: 18445|回复: 22

[讨论] contour和contourf后colorbar的变化

[复制链接]

新浪微博达人勋

发表于 2012-12-20 19:13:27 | 显示全部楼层 |阅读模式

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

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

x
       前几天画相关系数分布图,遇到了一个问题:第一次用contourf画通过检验区,第二次用contour画相关系数等值线,发现第一个contourf后正常,但第二次用contour后第一次填充的区域发生了变化。

原因在于:Matlab至今对同一张图不能用两个colorbar!

正因为这个原因,所以第二次用contour的时候colorbar发生了变化,导致第一次填充区域也发生了变化。

解决方案:
由于Matlab现在还没有办法对同一张图用两套colorbar,即使是同一套数据,如果colorbar两次后变了,那么对于第一次用的contourf填充区会也发生变化,或者颜色发生变化。我想到了下面两个解决方案:
1. 如果你是对同一组数据画图。如:SST画图。想把某一区域填充,第二次画等值线。你应该固定好colorbar的范围再填充。但是填充什么颜色,会根据你固定colorbar的范围来决定。由于colorbar的固定,所以第二次用contour的时候对第一次不影响。
2.如果是两套不同的数据,比如一个是显著性检验的数据,一个是相关系数的数据。两套数据的范围不同,很难把colorbar固定一个范围。我觉得这时没有什么好的方法,只能把你所想要填充的数据用find找出来,然后用plot填充,再设置marker的大小等参数,可能会达到最终的效果。因为plot不会使用colorbar,你可以任意设置符号的颜色,而等值线用一个colorbar不会影响。

PS:contourf填充的时候只对比你设置等值线大的值填充。
如:contourf(peaks,[0 0])
这时候是对大于0的区域填充,对小于0的区域不填充。无论你怎么设置小于0区域填充的颜色是都不会填充,这是contourf函数默认的设置。

我也没怎么做过试验,希望大家在下面多多讨论。

评分

参与人数 5金钱 +94 贡献 +13 收起 理由
wlzhongouc + 20 + 2
尽头的尽头 + 22 + 2
善人/jw + 22 + 6
传说中的谁 + 20 总结的很好呀
mofangbao + 10 + 3

查看全部评分

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

新浪微博达人勋

0
早起挑战累计收入
发表于 2012-12-20 21:16:38 | 显示全部楼层
不错的小总结~小A加油啦~
密码修改失败请联系微信:mofangbao

新浪微博达人勋

发表于 2012-12-20 21:18:20 | 显示全部楼层
oh~~~~~~~~~~~~~你好棒哦~~~~~~~~~~~~~~
小A真不错,细心总结
密码修改失败请联系微信:mofangbao

新浪微博达人勋

发表于 2012-12-20 21:18:41 | 显示全部楼层
顶起顶起
密码修改失败请联系微信:mofangbao

新浪微博达人勋

发表于 2012-12-20 21:21:02 | 显示全部楼层
感谢阿,虽然不会这个
密码修改失败请联系微信:mofangbao

新浪微博达人勋

 楼主| 发表于 2012-12-20 21:59:53 | 显示全部楼层
@mofangbao@传说中的谁@善人/jw@尽头的尽头
我刚打个电话,回来就这样啦= = 我根本就没干什么工作啊,也没怎么做试验……
密码修改失败请联系微信:mofangbao

新浪微博达人勋

0
早起挑战累计收入
发表于 2012-12-20 22:00:50 | 显示全部楼层

应该是看到尽头的帖子顺便来看看的,哈哈
密码修改失败请联系微信:mofangbao

新浪微博达人勋

 楼主| 发表于 2012-12-20 22:03:59 | 显示全部楼层
mofangbao 发表于 2012-12-20 22:00
应该是看到尽头的帖子顺便来看看的,哈哈

好吧,这其实是matlab的一个bug,现在还没有解决
密码修改失败请联系微信:mofangbao

新浪微博达人勋

发表于 2012-12-20 22:11:32 | 显示全部楼层
Aires 发表于 2012-12-20 21:59
@mofangbao@传说中的谁@善人/jw@尽头的尽头
我刚打个电话,回来就这样啦= = 我根本就没干什么工作啊,也没 ...

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

新浪微博达人勋

发表于 2012-12-21 00:49:18 | 显示全部楼层
你找到了bug了嘛
密码修改失败请联系微信:mofangbao
您需要登录后才可以回帖 登录 | 立即注册 新浪微博登陆

本版积分规则

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

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

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