今天就跟大家聊聊有关MATLAB中怎样反转Colorbar的颜色但并不反转Colorbar的刻度,可能很多人都不太了解,为了让大家更加了解,小编给大家总结了以下内容,希望大家根据这篇文章可以有所收获。
先看一下colormap函数的两个用法(来自MATLAB Documentation):
colormap(
sets the colormap for the current figure to the colormap specified by map
)map
.
example
colormap(
sets the colormap for the figure, axes, or chart specified by target
,map
)target
, instead of for the current figure.
用法1:
colormap(map)
这样的话,它是给当前整个figure设置同一个colormap
用法2:
colormap(target,map)
这样,它把指定的target中的colormap设置为map,而不是把整个当前figure的colormap设置为map。
当我们一个窗口中有多个坐标系,而我们又想给每个坐标系设置不同的colormap,那么就能用这个用法2了。
map可以是以下的这些,之前在这篇:自己写代码制作好看的直方图推文中讲过一点
如果想反转colorbar的颜色可以这样做:
colormap(h3, flipud(jet))
flipud函数可以把数组上下翻转,而这里的jet就是colorbar中的颜色(n行3列的矩阵),所以flipud(jet)就把colorbar的颜色给翻转了。
下面来看个例子吧:
在一个figure中放两个坐标系,坐标系中放mesh画的曲面并显示colorbar,为了方便,这里直接用了MATLAB自带的peaks函数来生成网格数据,然后mesh一下。我想让第二个坐标系中的colorbar颜色颠倒一下,如下:
可以看到colorbar的颜色颠倒了,图中曲面的颜色也对应地颠倒了。
Note:如果这里把Colorbar的YDir属性设置成reverse,的确也可以把colorbar的颜色颠倒一下,但是图中曲面的颜色却不会颠倒,而且colorbar的刻度也会倒过来。
上图的代码:
clc
clear
close all
[x, y, z] = peaks(300);
h2 = subplot(211);
mesh(x, y, z, 'CData', z, 'Parent', h2);
colormap(h2, jet) % 其实默认的也是这个,不写也行
shading interp
colorbar
title('没有反转colorbar的颜色')
h3 = subplot(212);
mesh(x, y, z, 'CData', z, 'Parent', h3);
colormap(h3, flipud(jet)) % 反转colorbar的颜色
shading interp
colorbar
title('反转了colorbar的颜色')
看完上述内容,你们对MATLAB中怎样反转Colorbar的颜色但并不反转Colorbar的刻度有进一步的了解吗?如果还想了解更多知识或者相关内容,请关注亿速云行业资讯频道,感谢大家的支持。
免责声明:本站发布的内容(图片、视频和文字)以原创、转载和分享为主,文章观点不代表本网站立场,如果涉及侵权请联系站长邮箱:is@yisu.com进行举报,并提供相关证据,一经查实,将立刻删除涉嫌侵权内容。