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

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

创新互联公司从2013年成立,先为利津等服务建站,利津等地企业,进行企业商务咨询服务。为利津企业网站制作PC+手机+微官网三网同步一站式服务解决您的所有建站问题。

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

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

example

colormap(target,map) sets the colormap for the figure, axes, or chart specified by 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可以是以下的这些,之前在这篇:自己写代码制作好看的直方图推文中讲过一点

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

如果想反转colorbar的颜色可以这样做:

colormap(h3, flipud(jet))

flipud函数可以把数组上下翻转,而这里的jet就是colorbar中的颜色(n行3列的矩阵),所以flipud(jet)就把colorbar的颜色给翻转了。

下面来看个例子吧:

在一个figure中放两个坐标系,坐标系中放mesh画的曲面并显示colorbar,为了方便,这里直接用了MATLAB自带的peaks函数来生成网格数据,然后mesh一下。我想让第二个坐标系中的colorbar颜色颠倒一下,如下:

MATLAB中怎样反转Colorbar的颜色但并不反转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的刻度有进一步的了解吗?如果还想了解更多知识或者相关内容,请关注创新互联行业资讯频道,感谢大家的支持。


文章标题:MATLAB中怎样反转Colorbar的颜色但并不反转Colorbar的刻度
链接地址:http://azwzsj.com/article/gdgepc.html