MATLAB_Colorbar的修改和自定义

最近在画颜色图,查了一些代码发现没法解决我遇到的一些问题,这里把我在画图过程中用的自定义colorbar的处理方法贴出
1.最简单的colorbar命令

c = colorbar;
colormap(flip(othercolor('RdYlBu6')));% 我最喜欢的颜色图,othercolor需要自己下载安装~
  1. colorbar 自定义刻度和分段
    (1)在画图的时候大家可能不想用这种渐变的colormap,此时需要自定义一个colormap,举个栗子
 A = [0.10 0.10 0.43
      0.50 0.70 0.80
      1.00 0.80 0.50
      0.80 0.20 0.20];
 % 使用A中定义的colormap
 colormap(A);c = colorbar;

这时,colorbar就不会有渐变而是分段了
(2)自定义的colorbar会有如何设置刻度的问题。线性的刻度很好设置,这里不举例说明,简单介绍一下非线性刻度的处理方法。
比如,我在画一个MK-test的颜色图,我的刻度标签要设置成{‘-2.58’,‘-1.96’,‘0’,‘1.96’,‘2.58’}

% 方法1:下面这种方法直接设置的时候,1.96和2.58会靠的很近,不是很好看
c = colorbar;
set(c,'Ticks',[-2.58,-1.96,0,1.96,2.58],'TickLabels',{'-2.58','-1.96','0','1.96','2.58'});

% 方法2,我比较喜欢把刻度线设置成等间距的,注意ticks和caxis搭配使用
set(c,'Ticks',20:20:100,'TickLabels',{'-2.58','-1.96','0','1.96','2.58'}) 
caxis([0 120])
% 然后修改颜色图数据里面的数值!
% 例如:
data1(find(data1<-2.58)) = 1; 

划重点:赋值的时候一定要注意
(1)赋的值要和上面的ticks对应
(2)小心数值重复,比如

% 如果按照这样赋值的话,原本小于1.96的部分先被赋1,然后又会被赋值51!就会出错!
data1(find(data1<-2.58)) = 1; 
data1(find(data1>=0 & data1<1.96)) = 61;  

贴一个处理完之后的趋势图
在这里插入图片描述
3

  • 2
    点赞
  • 9
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值