MATLAB函数解析:colormap——查看并设置当前颜色图

语法

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 指定的图窗、坐标区或图的颜色图。

示例

更改图窗的颜色图

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

surf(peaks)
colormap winter

将颜色图设置回默认值

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

surf(peaks)
colormap summer

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

colormap default

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

从 R2019b 开始,您可以使用 tiledlayoutnexttile 函数显示平铺绘图。

  • 调用 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)

指定颜色图的颜色数

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

mesh(peaks)
colormap(parula(5))

创建自定义颜色图

通过定义一个由介于 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 函数,返回特定坐标区的颜色图值。

使用 tiledlayoutnexttile 函数创建两个分块图,这两个函数是从 R2019b 开始推出的新函数。调用 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

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

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

load spine
image(X)
colormap(map)

输入参数

map - 新颜色方案的颜色图

新颜色方案的颜色图,指定为颜色图名称、由 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三元组
黄色 [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 对象或 GeographicAxes 对象。您可以为图窗中的每个坐标区定义一个唯一的颜色图。
  • 具有 Colormap 属性的图形对象。例如,您可以更改或查询 HeatmapChart 对象的颜色图。

输出参数

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

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


   转载规则


《MATLAB函数解析:colormap——查看并设置当前颜色图》 梦魇回生 采用 知识共享署名 4.0 国际许可协议 进行许可。
 上一篇
ODBC连接主流数据库的配置方法 ODBC连接主流数据库的配置方法
本博文主要介绍在Uinx/Linux环境下通过ODBC连接几种主流数据库的配置方法。
2021-01-20
下一篇 
汇总超全的Matplotlib可视化最有价值的 50 个图表(附完整 Python 源代码) 汇总超全的Matplotlib可视化最有价值的 50 个图表(附完整 Python 源代码)
在数据分析和可视化中最有用的 50 个 Matplotlib 图表。 这些图表列表允许您使用 python 的 matplotlib 和 seaborn 库选择要显示的可视化对象。这些图表根据可视化目标的7个不同情景进行分组。 例如,如果要想象两个变量之间的关系,请查看“关联”部分下的图表。 或者,如果您想要显示值如何随时间变化,请查看“变化”部分,依此类推。
  目录