來源:https://ww2.mathworks.cn/help/matlab/ref/colormap.html?searchHighlight=colormap&s_tid=doc_srchtitle#buc3wsn-1-map
說明
示例
更改圖窗的顏色圖
將顏色圖設置回默認值
首先,將當前圖窗的顏色圖更改為 summer
。
surf(peaks)
colormap summer
現在將顏色圖設置回您系統的默認值。如果您尚未指定不同默認值,則默認顏色圖是 parula
。
colormap default
對圖窗中的每個坐標區使用不同的顏色圖
創建一個包含兩個子圖的圖窗,並存儲坐標區句柄 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)
指定顏色圖的顏色數
通過將整數作為內置顏色圖的輸入參數傳遞來指定用於顏色圖的顏色數。使用 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
函數返回特定坐標區的顏色圖值。
創建一個包含兩個子圖的圖窗,並返回子圖的坐標區句柄 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
將圖窗的顏色圖更改為圖像
加載 spine
數據集以返回 X
及其關聯的顏色圖 map
。使用 image
函數顯示 X
並將顏色圖設置為 map
。
load spine
image(X)
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]
中。例如,此矩陣定義一個包含五種顏色的顏色圖。
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
對象 | 圖形對象
目標,指定為下列值之一:
-
Figure
對象。圖窗的顏色圖作用於圖窗中所有坐標區上的繪圖。 -
Axes
對象或PolarAxes
對象。您可以為圖窗中的每個坐標區定義一個唯一的顏色圖。 -
具有
Colormap
屬性的圖形對象。例如,您可以更改或查詢HeatmapChart
對象的顏色圖。
輸出參數
cmap
- 顏色圖值
由 RGB 三元組組成的三列矩陣
顏色圖值,以由 RGB 三元組組成的三列矩陣形式返回。矩陣的每行定義一個指定顏色圖的一種顏色的 RGB 三元組。這些值在 [0, 1] 范圍內。
詳細信息
什么是顏色圖?
顏色圖是由介於 0
和 1
之間的值組成的矩陣,用於定義諸如曲面、圖像以及補片之類的圖形對象的顏色。MATLAB® 通過將數據值映射到顏色圖中的顏色來繪制這些對象。
顏色圖可以為任意長度,但寬度必須為三列。矩陣中的每一行均使用 RGB 三元組定義一種顏色。RGB 三元組是包含三個元素的行向量,其元素分別指定顏色中紅、綠、藍分量的強度。強度必須在 [0, 1] 范圍內。值 0
表示無顏色,值 1
表示全強度。例如,以下命令將創建一個包含五種顏色(黑色、紅色、綠色、藍色和白色)的顏色圖。
mymap = [0 0 0 1 0 0 0 1 0 0 0 1 1 1 1];
要更改可視化的顏色方案,請調用 colormap
函數以更改所屬坐標區或圖窗的顏色圖。例如,以下命令將創建一個曲面圖,並將圖窗的顏色圖設置為 mymap
。
surf(peaks)
colormap(mymap)