来源:https://ww2.mathworks.cn/help/matlab/ref/colormap.html?searchHighlight=colormap&s_tid=doc_srchtitle#buc3wsn-1-map
查看并设置当前颜色图
全页折叠
语法
colormap map
colormap(map)
colormap(target,map)
cmap = colormap
cmap = colormap(target)
说明
示例
colormap
map
将当前图窗的颜色图设置为预定义的颜色图之一。如果您为图窗设置了颜色图,图窗中的坐标区和图将使用相同的颜色图。新颜色图的长度(颜色数)与当前颜色图相同。当您使用此语法时,不能为颜色图指定自定义长度。有关颜色图的详细信息,请参阅什么是颜色图?。
示例
colormap(
map
)
将当前图窗的颜色图设置为
map
指定的颜色图。
示例
colormap(
target
,
map
)
为
target
指定的图窗、坐标区或图形设置颜色图,而不是为当前图窗设置颜色图。
示例
cmap
= colormap
返回当前图窗的颜色图,形式为 RGB 三元组组成的三列矩阵。
示例
cmap
= colormap(
target
)
返回
target
指定的图窗、坐标区或图的颜色图。
示例
全部折叠
更改图窗的颜色图
尝试此示例
View MATLAB Command
创建一个曲面图并将颜色图设置为
winter
。
surf(peaks)
colormap winter

将颜色图设置回默认值
尝试此示例
View MATLAB Command
首先,将当前图窗的颜色图更改为
summer
。
surf(peaks)
colormap summer
现在将颜色图设置回您系统的默认值。如果您尚未指定不同默认值,则默认颜色图是
parula
。
colormap default
对图窗中的每个坐标区使用不同的颜色图
尝试此示例
View MATLAB Command
创建一个包含两个子图的图窗,并存储坐标区句柄
ax1
和
ax2
。通过将坐标区句柄传递给
colormap
函数对每个坐标区使用不同颜色图。在上部子图中,使用
spring
颜色图创建一个曲面图。在下部子图中,使用
winter
颜色图创建一个曲面图。
ax1 = subplot(2,1,1);
surf(peaks)
colormap(ax1,spring)
ax2 = subplot(2,1,2);
surf(peaks)
colormap(ax2,winter)
指定颜色图的颜色数
尝试此示例
View MATLAB Command
通过将整数作为内置颜色图的输入参数传递来指定用于颜色图的颜色数。使用 parula 颜色图中的五种颜色。
mesh(peaks)
colormap(parula(5))
创建自定义颜色图
尝试此示例
View MATLAB Command
通过定义一个由介于 0.0 和 1.0 之间的值组成的三列矩阵来创建一个自定义颜色图。每行定义一个三元素 RGB 三元组。第一列指定红色强度。第二列指定绿色强度。第三列指定蓝色强度。
通过将前两个列设置为零来使用蓝色值的颜色图。
map = [0 0 0.3
0 0 0.4
0 0 0.5
0 0 0.6
0 0 0.8
0 0 1.0];
surf(peaks)
colormap(map)
返回用在绘图中的颜色图值
尝试此示例
View MATLAB Command
创建
peaks
函数的曲面图并指定颜色图。
mesh(peaks)
colormap(autumn(5))
返回定义用在绘图中使用的颜色的值的三列矩阵。每行是一个指定颜色图的一种颜色的 RGB 三元组颜色值。
cmap = colormap
cmap = 5×3
1.0000 0 0
1.0000 0.2500 0
1.0000 0.5000 0
1.0000 0.7500 0
1.0000 1.0000 0
返回特定坐标区的颜色图值
尝试此示例
View MATLAB Command
通过将其坐标区句柄传递给
colormap
函数返回特定坐标区的颜色图值。
创建一个包含两个子图的图窗,并返回子图的坐标区句柄
ax1
和
ax2
。将填充的等高线图添加到每个坐标区并对每个坐标区使用不同颜色图。
ax1 = subplot(2,1,1);
contourf(peaks)
colormap(ax1,hot(8))
ax2 = subplot(2,1,2);
contourf(peaks)
colormap(ax2,pink)
通过将其坐标区句柄
ax1
传递给
colormap
函数来返回用在上部子图中的颜色图值。每行是一个指定颜色图的一种颜色的 RGB 三元组颜色值。
cmap = colormap(ax1)
cmap = 8×3
0.3333 0 0
0.6667 0 0
1.0000 0 0
1.0000 0.3333 0
1.0000 0.6667 0
1.0000 1.0000 0
1.0000 1.0000 0.5000
1.0000 1.0000 1.0000
将图窗的颜色图更改为图像
尝试此示例
View MATLAB Command
加载
spine
数据集以返回
X
及其关联的颜色图
map
。使用
image
函数显示
X
并将颜色图设置为
map
。
load spine
image(X)
colormap(map)
输入参数
全部折叠
map
map
- 新颜色方案的颜色图
颜色图名称 | 由 RGB 三元组组成的三列矩阵 |
\'default\'
新颜色方案的颜色图,指定为颜色图名称、由 RGB 三元组组成的三列矩阵或
\'default\'
。颜色图名称指定一个与当前颜色图具有相同颜色数的预定义颜色图。由 RGB 三元组组成的三列矩阵指定一个自定义颜色图。您可以自行创建该矩阵,也可以调用一个预定义的颜色图函数来创建矩阵。例如,
colormap(parula(10))
将当前图窗的颜色图设置为从
parula
颜色图中选择的 10 种颜色。
值
\'default\'
将目标对象的颜色图设置为默认颜色图。
颜色图名称
下表列出了预定义的颜色图。
颜色图名称 | 色阶 |
---|---|
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
|
三列矩阵
要创建自定义颜色图,请将
map
指定为 RGB 三元组组成的三列矩阵(其中每行定义一种颜色)。RGB 三元组是包含三个元素的行向量,其元素分别指定颜色中红、绿、蓝分量的强度。强度必须处于范围
[0,1]
中。例如,此矩阵定义一个包含五种颜色的颜色图。
map = [0.2 0.1 0.5
0.1 0.5 0.8
0.2 0.7 0.6
0.8 0.7 0.3
0.9 1 0];
下表列出了常见颜色的 RGB 三元组值。
颜色 | RGB 三元组 |
---|---|
黄色 | |
品红色 | |
青蓝色 | |
红色 | |
绿色 | |
蓝色 | |
白色 | |
黑色 | |
数据类型:
char
|
double
target
- 目标 Figure
对象 | Axes
对象 | PolarAxes
对象 | 图形对象
target
Figure
Axes
PolarAxes
目标,指定为下列值之一:
-
对象。图窗的颜色图作用于图窗中所有坐标区上的绘图。Figure
-
对象或Axes
对象。您可以为图窗中的每个坐标区定义一个唯一的颜色图。PolarAxes
- 具有
属性的图形对象。例如,您可以更改或查询Colormap
对象的颜色图。HeatmapChart
输出参数
全部折叠
cmap
cmap
- 颜色图值
由 RGB 三元组组成的三列矩阵
颜色图值,以由 RGB 三元组组成的三列矩阵形式返回。矩阵的每行定义一个指定颜色图的一种颜色的 RGB 三元组。这些值在 [0, 1] 范围内。
详细信息
全部折叠
什么是颜色图?
颜色图是由介于
和
1
之间的值组成的矩阵,用于定义诸如曲面、图像以及补片之类的图形对象的颜色。MATLAB® 通过将数据值映射到颜色图中的颜色来绘制这些对象。
颜色图可以为任意长度,但宽度必须为三列。矩阵中的每一行均使用 RGB 三元组定义一种颜色。RGB 三元组是包含三个元素的行向量,其元素分别指定颜色中红、绿、蓝分量的强度。强度必须在 [0, 1] 范围内。值
表示无颜色,值
1
表示全强度。例如,以下命令将创建一个包含五种颜色(黑色、红色、绿色、蓝色和白色)的颜色图。
mymap = [0 0 0
1 0 0
0 1 0
0 0 1
1 1 1];
要更改可视化的颜色方案,请调用
colormap
函数以更改所属坐标区或图窗的颜色图。例如,以下命令将创建一个曲面图,并将图窗的颜色图设置为
mymap
。
surf(peaks)
colormap(mymap)
兼容性考虑
- 从 R2018a 开始,如果您为图窗设置颜色图,则图窗中的坐标区和图将使用相同的颜色图。以前,当您设置图窗颜色图时,任何显式设置了颜色图的坐标区或图都不受影响。如果您希望
对象使用与图窗不同的颜色图,请在设置图窗颜色图之后设置坐标区颜色图。Axes
- 从 R2014b 开始,默认颜色图为
。在以前的版本中,默认颜色图为parula
。jet