爱气象,爱气象家园! 

气象家园

 找回密码
 立即注册

QQ登录

只需一步,快速开始

新浪微博登陆

只需一步, 快速开始

搜索
查看: 5909|回复: 10

[程序设计] colorbar的范围设置

[复制链接]

新浪微博达人勋

发表于 2018-12-24 23:16:29 | 显示全部楼层 |阅读模式

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

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

x
我现在有一个colorbar,但是自己只想输出 0-4的 colorba图,该怎么更改啊?谢谢了
111.png
密码修改失败请联系微信:mofangbao

新浪微博达人勋

 楼主| 发表于 2018-12-24 23:19:31 | 显示全部楼层
像元为255的数据是我自己图上存在的需要用灰色mask掉的地方,,但是自己在colorbar上不想显示出来。不想用PS P掉,有没有控制colorbar输出范围的属性啊
密码修改失败请联系微信:mofangbao

新浪微博达人勋

发表于 2018-12-25 00:22:54 | 显示全部楼层
caxis([0,4])
密码修改失败请联系微信:mofangbao

新浪微博达人勋

 楼主| 发表于 2018-12-25 14:56:00 | 显示全部楼层

是我说的不够清楚,抱歉。
figure(2);
a = axes;
C = .25*rand(5) + .5; % Create random values between .375 and .625 for Plot # 2
p = pcolor(C);

如果加上caxis([1:2]) 它会改变配色方案,我配色方案已经设计好了,并不需要改变,只想改变画出来的colorbar的输出范围i
麻烦您能解答一下
密码修改失败请联系微信:mofangbao

新浪微博达人勋

发表于 2018-12-25 16:10:28 | 显示全部楼层
强不强 发表于 2018-12-25 14:56
是我说的不够清楚,抱歉。
figure(2);
a = axes;

如果是只显示colorbar的一部分好像不行,不知道有没有大神能解决
密码修改失败请联系微信:mofangbao

新浪微博达人勋

发表于 2018-12-26 10:22:04 | 显示全部楼层
那你把0到4的colorbar截图下来,然后
imread('截图位置')
color=ans(x,:,:);    %  得到中间一条的颜色信息
colorfinal=reshape(color,y3);   %  最后得到中间一条每个点的RGB
colormap(double(colorfinal)/255)    %  需要转化成双精度,0-1之间的数值
colorbar

其中参数x y根据你 imread 的 ans 调整
密码修改失败请联系微信:mofangbao

新浪微博达人勋

 楼主| 发表于 2018-12-27 09:08:05 | 显示全部楼层
累到飞起 发表于 2018-12-26 10:22
那你把0到4的colorbar截图下来,然后
imread('截图位置')
color=ans(x,:,:);    %  得到中间一条的颜色信 ...

好的,太谢谢您啦。我一直以为会有一个方法只输出一段的colorbar。
还有这个问题的产色是因为我想把地图的一些区域标成黑色(没有数据),其他区域按照产生的数值渐变颜色。但是一个figure只能用一个colormap,所以自己自创了涵盖黑色和渐变色的colormap。请问您有更好的办法吗?
密码修改失败请联系微信:mofangbao

新浪微博达人勋

发表于 2018-12-27 10:35:26 | 显示全部楼层
强不强 发表于 2018-12-27 09:08
好的,太谢谢您啦。我一直以为会有一个方法只输出一段的colorbar。
还有这个问题的产色是因为我想把地图 ...

M(M==255)=nan;
pcolor(x,y,M);
colormap('jet');
set(gca,'color','k');
colorbar;
密码修改失败请联系微信:mofangbao

新浪微博达人勋

 楼主| 发表于 2018-12-29 18:08:49 | 显示全部楼层
学习渣渣 发表于 2018-12-27 10:35
M(M==255)=nan;
pcolor(x,y,M);
colormap('jet');

是我说的不够清楚,抱歉。
figure(2);
a = axes;
C = .25*rand(5) + .5; % Create random values between .375 and .625 for Plot # 2
p = pcolor(C);

如果加上caxis([1:2]) 它会改变配色方案,我配色方案已经设计好了,并不需要改变,只想改变画出来的colorbar的输出范围i
麻烦您能解答一下
密码修改失败请联系微信:mofangbao

新浪微博达人勋

发表于 2018-12-30 13:20:50 | 显示全部楼层
强不强 发表于 2018-12-29 18:08
是我说的不够清楚,抱歉。
figure(2);
a = axes;

cbr=colormap;
cbr_new=cbr(3:end,:);
colormap(cbr_new);
密码修改失败请联系微信:mofangbao
您需要登录后才可以回帖 登录 | 立即注册 新浪微博登陆

本版积分规则

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

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

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