来源:https://ww2.mathworks.cn/help/matlab/ref/colormap.html?searchHighlight=colormap&s_tid=doc_srchtitle#buc3wsn-1-map

查看并设置当前颜色图

全页折叠
 

说明

示例

colormap map 将当前图窗的颜色图设置为预定义的颜色图之一。如果您为图窗设置了颜色图,图窗中的坐标区和图将使用相同的颜色图。新颜色图的长度(颜色数)与当前颜色图相同。当您使用此语法时,不能为颜色图指定自定义长度。有关颜色图的详细信息,请参阅什么是颜色图?

示例

colormap(map) 将当前图窗的颜色图设置为 map 指定的颜色图。

示例

colormap(target,map)target 指定的图窗、坐标区或图形设置颜色图,而不是为当前图窗设置颜色图。

示例

cmap = colormap 返回当前图窗的颜色图,形式为 RGB 三元组组成的三列矩阵。

示例

cmap = colormap(target) 返回 target 指定的图窗、坐标区或图的颜色图。

 

示例

全部折叠

更改图窗的颜色图

尝试此示例

View MATLAB Command

创建一个曲面图并将颜色图设置为 winter

  1. surf(peaks)
  2. colormap winter

 
 

将颜色图设置回默认值

尝试此示例

View MATLAB Command

首先,将当前图窗的颜色图更改为 summer

  1. surf(peaks)
  2. colormap summer

现在将颜色图设置回您系统的默认值。如果您尚未指定不同默认值,则默认颜色图是 parula

  1. colormap default

 
 

对图窗中的每个坐标区使用不同的颜色图

尝试此示例

View MATLAB Command

创建一个包含两个子图的图窗,并存储坐标区句柄 ax1ax2。通过将坐标区句柄传递给 colormap 函数对每个坐标区使用不同颜色图。在上部子图中,使用 spring 颜色图创建一个曲面图。在下部子图中,使用 winter 颜色图创建一个曲面图。

  1. ax1 = subplot(2,1,1);
  2. surf(peaks)
  3. colormap(ax1,spring)
  4.  
  5. ax2 = subplot(2,1,2);
  6. surf(peaks)
  7. colormap(ax2,winter)

 
 

指定颜色图的颜色数

尝试此示例

View MATLAB Command

通过将整数作为内置颜色图的输入参数传递来指定用于颜色图的颜色数。使用 parula 颜色图中的五种颜色。

  1. mesh(peaks)
  2. colormap(parula(5))

 
 

创建自定义颜色图

尝试此示例

View MATLAB Command

通过定义一个由介于 0.0 和 1.0 之间的值组成的三列矩阵来创建一个自定义颜色图。每行定义一个三元素 RGB 三元组。第一列指定红色强度。第二列指定绿色强度。第三列指定蓝色强度。

通过将前两个列设置为零来使用蓝色值的颜色图。

  1. map = [0 0 0.3
  2. 0 0 0.4
  3. 0 0 0.5
  4. 0 0 0.6
  5. 0 0 0.8
  6. 0 0 1.0];
  7.  
  8. surf(peaks)
  9. colormap(map)

 
 

返回用在绘图中的颜色图值

尝试此示例

View MATLAB Command

创建 peaks 函数的曲面图并指定颜色图。

  1. mesh(peaks)
  2. colormap(autumn(5))

返回定义用在绘图中使用的颜色的值的三列矩阵。每行是一个指定颜色图的一种颜色的 RGB 三元组颜色值。

  1. cmap = colormap
  1. cmap = 5×3
  2.  
  3. 1.0000 0 0
  4. 1.0000 0.2500 0
  5. 1.0000 0.5000 0
  6. 1.0000 0.7500 0
  7. 1.0000 1.0000 0
 
 

返回特定坐标区的颜色图值

尝试此示例

View MATLAB Command

通过将其坐标区句柄传递给 colormap 函数返回特定坐标区的颜色图值。

创建一个包含两个子图的图窗,并返回子图的坐标区句柄 ax1ax2。将填充的等高线图添加到每个坐标区并对每个坐标区使用不同颜色图。

  1. ax1 = subplot(2,1,1);
  2. contourf(peaks)
  3. colormap(ax1,hot(8))
  4.  
  5. ax2 = subplot(2,1,2);
  6. contourf(peaks)
  7. colormap(ax2,pink)

通过将其坐标区句柄 ax1 传递给 colormap 函数来返回用在上部子图中的颜色图值。每行是一个指定颜色图的一种颜色的 RGB 三元组颜色值。

  1. cmap = colormap(ax1)
  1. cmap = 8×3
  2.  
  3. 0.3333 0 0
  4. 0.6667 0 0
  5. 1.0000 0 0
  6. 1.0000 0.3333 0
  7. 1.0000 0.6667 0
  8. 1.0000 1.0000 0
  9. 1.0000 1.0000 0.5000
  10. 1.0000 1.0000 1.0000
 
 

将图窗的颜色图更改为图像

尝试此示例

View MATLAB Command

加载 spine 数据集以返回 X 及其关联的颜色图 map。使用 image 函数显示 X 并将颜色图设置为 map

  1. load spine
  2. image(X)
  3. colormap(map)

 
 

输入参数

全部折叠

map - 新颜色方案的颜色图
颜色图名称 | 由 RGB 三元组组成的三列矩阵 | 'default'

新颜色方案的颜色图,指定为颜色图名称、由 RGB 三元组组成的三列矩阵或 'default'。颜色图名称指定一个与当前颜色图具有相同颜色数的预定义颜色图。由 RGB 三元组组成的三列矩阵指定一个自定义颜色图。您可以自行创建该矩阵,也可以调用一个预定义的颜色图函数来创建矩阵。例如,colormap(parula(10)) 将当前图窗的颜色图设置为从 parula 颜色图中选择的 10 种颜色。

'default' 将目标对象的颜色图设置为默认颜色图。

颜色图名称

下表列出了预定义的颜色图。

颜色图名称 色阶
parula

jet

hsv

hot

cool

spring

summer

autumn

winter

gray

bone

copper

pink

lines

colorcube

prism

flag

white

三列矩阵

要创建自定义颜色图,请将 map 指定为 RGB 三元组组成的三列矩阵(其中每行定义一种颜色)。RGB 三元组是包含三个元素的行向量,其元素分别指定颜色中红、绿、蓝分量的强度。强度必须处于范围 [0,1] 中。例如,此矩阵定义一个包含五种颜色的颜色图。

  1. map = [0.2 0.1 0.5
  2. 0.1 0.5 0.8
  3. 0.2 0.7 0.6
  4. 0.8 0.7 0.3
  5. 0.9 1 0];

下表列出了常见颜色的 RGB 三元组值。

颜色 RGB 三元组
黄色 [1 1 0]
品红色 [1 0 1]
青蓝色 [0 1 1]
红色 [1 0 0]
绿色 [0 1 0]
蓝色 [0 0 1]
白色 [1 1 1]
黑色 [0 0 0]

数据类型: char | double

target - 目标
Figure 对象 | Axes 对象 | PolarAxes 对象 | 图形对象

目标,指定为下列值之一:

  • Figure 对象。图窗的颜色图作用于图窗中所有坐标区上的绘图。

  • Axes 对象或 PolarAxes 对象。您可以为图窗中的每个坐标区定义一个唯一的颜色图。

  • 具有 Colormap 属性的图形对象。例如,您可以更改或查询 HeatmapChart 对象的颜色图。

输出参数

全部折叠

cmap - 颜色图值
由 RGB 三元组组成的三列矩阵

颜色图值,以由 RGB 三元组组成的三列矩阵形式返回。矩阵的每行定义一个指定颜色图的一种颜色的 RGB 三元组。这些值在 [0, 1] 范围内。

详细信息

全部折叠

什么是颜色图?

颜色图是由介于 01 之间的值组成的矩阵,用于定义诸如曲面、图像以及补片之类的图形对象的颜色。MATLAB 通过将数据值映射到颜色图中的颜色来绘制这些对象。

颜色图可以为任意长度,但宽度必须为三列。矩阵中的每一行均使用 RGB 三元组定义一种颜色。RGB 三元组是包含三个元素的行向量,其元素分别指定颜色中红、绿、蓝分量的强度。强度必须在 [0, 1] 范围内。值 0 表示无颜色,值 1 表示全强度。例如,以下命令将创建一个包含五种颜色(黑色、红色、绿色、蓝色和白色)的颜色图。

  1. mymap = [0 0 0
  2. 1 0 0
  3. 0 1 0
  4. 0 0 1
  5. 1 1 1];

要更改可视化的颜色方案,请调用 colormap 函数以更改所属坐标区或图窗的颜色图。例如,以下命令将创建一个曲面图,并将图窗的颜色图设置为 mymap

  1. surf(peaks)
  2. colormap(mymap)

兼容性考虑

  • 从 R2018a 开始,如果您为图窗设置颜色图,则图窗中的坐标区和图将使用相同的颜色图。以前,当您设置图窗颜色图时,任何显式设置了颜色图的坐标区或图都不受影响。如果您希望 Axes 对象使用与图窗不同的颜色图,请在设置图窗颜色图之后设置坐标区颜色图。

  • 从 R2014b 开始,默认颜色图为 parula。在以前的版本中,默认颜色图为 jet

matlab中colormap的更多相关文章

  1. MATLAB中imshow()和image()

    MATLAB中imshow()和image(): IMSHOW Display image in Handle Graphics figure. IMSHOW(I) displays the gray ...

  2. matlab中 mcc、mbuild和mex命令详解

    先简单的说说mcc.mbuild和mex到底怎么回事: mcc将M文件转换成C/C++文件和相应的MEX包裹文件(需要Matlab编辑器),但在特定条件下可以自动调用mbuild或者mex mex将C ...

  3. Matlab 中movie函数的使用

    MATLAB中,创建电影动画的过程分为以下四步: step1:调用moviein函数对内存进行初始化(该步骤在Matlab5.3以上均可省略),创建一个足够大的矩阵,使之能够容纳基于当前坐标轴大小的一 ...

  4. matlab中如何将视频保存成图像

    利用MATLAB将视频的每一帧保存成一幅图像,并自动命名.本文方法简单,容易学习. 首先,读入视频.代码如下: mov = VideoReader('xxxxxx.avi'); % 将xxxxxx.a ...

  5. [转载]Matlab中插值函数汇总和使用说明

    http://blog.sciencenet.cn/blog-457143-679275.html MATLAB中的插值函数为interp1,其调用格式为:  yi= interp1(x,y,xi,' ...

  6. matlab中uigetfile命令的应用

    matlab中uigetfile命令的应用 uigetfile命令的应用 此函数的用法为 [FileName,PathName,FilterIndex] = uigetfile(FilterSpec, ...

  7. matlab中help所有函数功能的英文翻译

    doc funname 在帮助浏览器中打开帮助文档 help funname 在命令窗口打开帮助文档 helpbrowser 直接打开帮助浏览器 lookfor funname 搜索某个关键字相关函数 ...

  8. 也谈matlab中读取视频的一个重要函数mmreader

    也谈matlab中读取视频的一个重要函数mmreader 在matlab中输入help mmreader来查阅一下该函数,有如下信息: MMREADER Create a multimedia rea ...

  9. Matlab中下标,斜体,及希腊字母的使用方法

    下面是Matlab官方列出来的Tex代码列表,包含了绝大部分的希腊字母和数学符号. Character Sequence Symbol Character Sequence Symbol Charac ...

随机推荐

  1. Codeforces Round #571 (Div. 2)-D. Vus the Cossack and Numbers

    Vus the Cossack has nn real numbers aiai. It is known that the sum of all numbers is equal to 00. He ...

  2. 跟着尚硅谷系统学习Docker-【day03】

    day03-20200715   p15.docker容器命令(下)   以守护进程的形式启动 [docker run -d 容器名]后台运行 启动了后又关闭了,与前台没有交互,立刻就kill了.前台 ...

  3. github学生认证——申请学生开发包

    写在前面 申请学生认证的好处: GitHub学生的免费AWS Educate入门帐户,价值100美元. 专业的桌面IDE:IntelliJ IDEA,PyCharm等.学生的免费订阅,每年更新一次. ...

  4. 从通达信导出文件获取A股所有股票代号名称(至2020年2月24日)

    下文是讲述如何从通达信的输出文件中获得股票信息,如果想用Java爬虫从网页爬取信息请参考:https://www.cnblogs.com/xiandedanteng/p/12808381.html 要 ...

  5. [Java数据结构]LinkedHashMap,TreeMap

    HashMap不能记住插入时的顺序,但LinkedHashMap可以做到这一点. 例程: Map<Integer,String> empMap=new LinkedHashMap<I ...

  6. 关于h5游戏开发,你想了解的一切都在这儿!

    ​2020年,受疫情影响,线下产业红利褪去,线上迎来的新一轮的高峰.众多商家纷纷抓住了转型时机,开启了流量争夺战.H5游戏定制无疑是今年引流的大热门.如何开发一款有趣.有爆点.用户爱买单的好游戏呢? ...

  7. Ubuntu中的launcher

    最近在ubuntu系统中下载了最新版的eclipse,在一个临时文件夹中解压了eclipse压缩包,然后打开eclipse,按平时常规做法,我在launcher里右键点击eclipse,选择“锁定到启 ...

  8. LuoGu P1909 买铅笔???

    题目描述 P老师需要去商店买n支铅笔作为小朋友们参加NOIP的礼物.她发现商店一共有 3种包装的铅笔,不同包装内的铅笔数量有可能不同,价格也有可能不同.为了公平起 见,P老师决定只买同一种包装的铅笔. ...

  9. Java基础一篇过(四)List这篇就够了

    文章更新时间:2020/08/03 一.List介绍 list是Java的一个接口,继承了Collection,常用到的有3个子类实现: ArrayList 底层数据结构是数组.线程不安全 Linke ...

  10. Redis学习(三)java使用redis

    一.操作步骤 Redis除了命令行操作以外,还可以通过java代码进行操作,流程如下: 下载Jedis依赖包,并丢入工程中合适的位置 在Maven中引入redis的包 <!--引入redis包- ...