MATLAB中怎样反转Colorbar的颜色但并不反转Colorbar的刻度

免费建站   2024年05月10日 10:43  

今天就跟大家聊聊有关MATLAB中怎样反转Colorbar的颜色但并不反转Colorbar的刻度,可能很多人都不太了解,为了让大家更加了解,小编给大家总结了以下内容,希望大家根据这篇文章可以有所收获。

先看一下colormap函数的两个用法(来自MATLAB Documentation):

colormap(map)sets the colormap for the current figure to the colormap specified bymap.

example

colormap(target,map)sets the colormap for the figure, axes, or chart specified bytarget, 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的刻度也会倒过来。

上图的代码:

clcclearcloseall[x,y,z]=peaks(300);h2=subplot(211);mesh(x,y,z,'CData',z,'Parent',h2);colormap(h2,jet) % 其实默认的也是这个,不写也行shadinginterpcolorbartitle('没有反转colorbar的颜色')h3=subplot(212);mesh(x,y,z,'CData',z,'Parent',h3);colormap(h3,flipud(jet)) % 反转colorbar的颜色shadinginterpcolorbartitle('反转了colorbar的颜色')

看完上述内容,你们对MATLAB中怎样反转Colorbar的颜色但并不反转Colorbar的刻度有进一步的了解吗?如果还想了解更多知识或者相关内容,请关注行业资讯频道,感谢大家的支持。

域名注册
购买VPS主机

您或许对下面这些文章有兴趣:                    本月吐槽辛苦排行榜

看贴要回贴有N种理由!看帖不回贴的后果你懂得的!


评论内容 (*必填):
(Ctrl + Enter提交)   

部落快速搜索栏

各类专题梳理

网站导航栏

X
返回顶部