colormap
查看并设置当前颜色图
语法
说明
示例
更改图窗的颜色图
将颜色图设置回默认值
首先,将当前图窗的颜色图更改为 summer
。
surf(peaks)
colormap summer
现在将颜色图设置回您系统的默认值。如果您尚未指定不同默认值,则默认颜色图是 parula
。
colormap default
对图窗中的每个坐标区使用不同的颜色图
您可以使用 tiledlayout
和 nexttile
函数显示分块图。调用 tiledlayout
函数以创建一个 2×1 分块图布局。调用 nexttile
函数以创建坐标区对象 ax1
和 ax2
。通过将坐标区对象传递给 colormap
函数,为每个坐标区指定不同的颜色图。在上坐标区中,使用 spring
颜色图创建一个曲面图。在下坐标区中,使用 winter
颜色图创建一个曲面图。
tiledlayout(2,1) ax1 = nexttile; surf(peaks) colormap(ax1,spring) ax2 = nexttile; surf(peaks) colormap(ax2,winter)
指定颜色图的颜色数
创建自定义颜色图
通过定义一个由介于 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)
返回用在绘图中的颜色图值
创建 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
返回特定坐标区的颜色图值
通过将坐标区对象传递给 colormap
函数,返回特定坐标区的颜色图值。
使用 tiledlayout
和 nexttile
函数创建一个包含两个绘图的分块图。调用 tiledlayout
函数以创建一个 2×1 分块图布局。调用 nexttile
函数以创建坐标区对象 ax1
和 ax2
。然后显示两个以不同颜色图填充的等高线图。
tiledlayout(2,1) ax1 = nexttile; contourf(peaks) colormap(ax1,hot(8)) ax2 = nexttile; 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
将图窗的颜色图更改为图像
输入参数
map
— 新颜色方案的颜色图
颜色图名称 | 由 RGB 三元组组成的三列矩阵 | 'default'
新颜色方案的颜色图,指定为颜色图名称、由 RGB 三元组组成的三列矩阵或 'default'
。颜色图名称指定一个与当前颜色图具有相同颜色数的预定义颜色图。由 RGB 三元组组成的三列矩阵指定一个自定义颜色图。您可以自行创建该矩阵,也可以调用一个预定义的颜色图函数来创建矩阵。例如,colormap(parula(10))
将当前图窗的颜色图设置为从 parula
颜色图中选择的 10 种颜色。
值 'default'
将目标对象的颜色图设置为默认颜色图。
颜色图名称
下表列出了预定义的颜色图。
颜色图名称 | 色阶 |
---|---|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
三列矩阵
要创建自定义颜色图,请将 map
指定为 RGB 三元组组成的三列矩阵(其中每行定义一种颜色)。RGB 三元组是包含三个元素的行向量,其元素分别指定颜色中红、绿、蓝分量的强度。强度可以是 [0, 1] 范围内的 double
或 single
值,也可以是 [0, 255] 范围内的 uint8
值。例如,此矩阵定义一个包含五种颜色的颜色图。
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 三元组值。
颜色 | double 或 single RGB 三元组 | uint8 RGB 三元组 |
---|---|---|
黄色 | [1 1 0] | [255 255 0] |
品红色 | [1 0 1] | [255 0 255] |
青蓝色 | [0 1 1] | [0 255 255] |
红色 | [1 0 0] | [255 0 0] |
绿色 | [0 1 0] | [0 255 0] |
蓝色 | [0 0 1] | [0 0 255] |
白色 | [1 1 1] | [255 255 255] |
黑色 | [0 0 0] | [0 0 0] |
数据类型: char
| double
| single
| uint8
target
— 目标
Figure
对象 | Axes
对象 | PolarAxes
对象 | GeographicAxes
对象 | 独立可视化
目标,指定为下列值之一:
Figure
对象。图窗的颜色图作用于图窗中所有坐标区上的绘图。Axes
对象、PolarAxes
对象或GeographicAxes
对象。您可以为图窗中的每个坐标区定义一个唯一的颜色图。具有
Colormap
属性的独立可视化。例如,您可以更改或查询HeatmapChart
对象的颜色图。
输出参量
cmap
— 颜色图值
由 RGB 三元组组成的三列矩阵
颜色图值,以由 RGB 三元组组成的三列矩阵形式返回。矩阵的每行定义一个指定颜色图的一种颜色的 RGB 三元组。这些值在 [0, 1] 范围内。
详细信息
颜色图
颜色图是由值组成的矩阵,这些值用于定义诸如曲面、图像以及补片之类的图形对象的颜色。MATLAB® 通过将数据值映射到颜色图中的颜色来绘制这些对象。
颜色图可以为任意长度,但宽度必须为三列。矩阵中的每一行均使用 RGB 三元组定义一种颜色。RGB 三元组是包含三个元素的行向量,其元素分别指定颜色中红、绿、蓝分量的强度。通常,强度是 [0, 1] 范围内的 double
或 single
值。值 0
表示无颜色,值 1
表示全强度。例如,以下命令将创建一个包含五种颜色(黑色、红色、绿色、蓝色和白色)的颜色图。
mymap = [0 0 0 1 0 0 0 1 0 0 0 1 1 1 1];
要更改可视化的颜色方案,请调用 colormap
函数以更改所属坐标区或图窗的颜色图。例如,以下命令将创建一个曲面图,并将图窗的颜色图设置为 mymap
。
surf(peaks) colormap(mymap)
提示
要控制颜色图的范围及其与数据范围的关系,请使用
clim
函数。在 R2022a 之前的版本中: 使用
caxis
,它具有与clim
相同的语法和参量。
版本历史记录
在 R2006a 之前推出R2023a: 设置默认颜色图时返回颜色图矩阵
当您将当前图窗的颜色图设置为默认值时,可以选择指定输出参量来存储颜色图数组。例如:
cmap = colormap("default")
R2020b: 热图的颜色图 'default'
选项显示蓝色颜色图,而不是 parula
将热图上的颜色图设置为 'default'
会将该图的颜色图设置为热图的默认蓝色颜色图。在 R2020a 和以前的版本中,'default'
选项会将颜色图更改为 parula
。
要指定热图的默认颜色图,请将图传递给 colormap
函数。
h = heatmap(rand(10));
colormap(h,'default')
只有热图受此更改的影响。
R2018a: 设置图窗颜色图会同时设置坐标区颜色图
从 R2018a 开始,如果您为图窗设置颜色图,则图窗中的坐标区和图将使用相同的颜色图。以前,当您设置图窗颜色图时,任何显式设置了颜色图的坐标区或图都不受影响。如果您希望 Axes
对象使用与图窗不同的颜色图,请在设置图窗颜色图之后设置坐标区颜色图。
MATLAB 命令
您点击的链接对应于以下 MATLAB 命令:
请在 MATLAB 命令行窗口中直接输入以执行命令。Web 浏览器不支持 MATLAB 命令。
Select a Web Site
Choose a web site to get translated content where available and see local events and offers. Based on your location, we recommend that you select: .
You can also select a web site from the following list:
How to Get Best Site Performance
Select the China site (in Chinese or English) for best site performance. Other MathWorks country sites are not optimized for visits from your location.
Americas
- América Latina (Español)
- Canada (English)
- United States (English)
Europe
- Belgium (English)
- Denmark (English)
- Deutschland (Deutsch)
- España (Español)
- Finland (English)
- France (Français)
- Ireland (English)
- Italia (Italiano)
- Luxembourg (English)
- Netherlands (English)
- Norway (English)
- Österreich (Deutsch)
- Portugal (English)
- Sweden (English)
- Switzerland
- United Kingdom (English)