matlab怎么指定繪圖顏色? matlab自定義繪圖顏色的技巧

MATLAB使用一組默認(rèn)顏色創(chuàng)建繪圖。使用默認(rèn)顏色創(chuàng)建的不同繪圖將呈現(xiàn)清晰一致的外觀。您也可以按需求自定義顏色。許多繪圖函數(shù)都有用于自定義顏色的輸入?yún)⒘?,?code>c或colorspec
。這些函數(shù)返回的對象通常具有控制顏色屬性。參量和屬性的名稱可以不同,但它們接受的值通常遵循一種通用模式。一旦熟悉了該模式,您就可以使用它來修改各種繪圖。
以下示例使用bar
和scatter
函數(shù)來演示自定義顏色整體方法。有關(guān)特定繪圖函數(shù)的有效顏色值的完整列表,請參考該函數(shù)的文檔。
1.顏色值的類型
有以下幾種顏色值:
- 顏色名稱或短名稱- 指定顏色名稱,例如
"red"
或"green"
。短名稱從顏色名稱中指定字母,例如"r"
或"g"
。 - RGB 三元組- 通過指定一個(gè)三元素行向量來創(chuàng)建自定義顏色,該向量的元素是顏色中紅、綠、藍(lán)分量的強(qiáng)度。強(qiáng)度必須處于范圍
[0,1]
中。例如,您可以用[1 0.5 0.8]
來指定粉紅色。 - 控制顏色的某些函數(shù)參量并不接受 RGB 三元組,但控制顏色對象屬性通常接受。
- 十六進(jìn)制顏色代碼- 通過以下方式創(chuàng)建一個(gè)自定義顏色:指定一個(gè)字符串或字符向量,以井號 (
#
) 開頭,后跟三個(gè)或六個(gè)十六進(jìn)制數(shù)字,范圍可以是0
到F
。這些值不區(qū)分大小寫。因此,顏色代碼"#FF8800"
、"#ff8800"
、"#F80"
和"#f80"
都指定相同的橙色色調(diào)。 - 某些控制顏色的函數(shù)參量不接受十六進(jìn)制顏色代碼,但您可以使用與對象屬性對應(yīng)的名稱-值參量來指定十六進(jìn)制顏色代碼。例如,
scatter(x,y,sz,"MarkerFaceColor","#FF8800")
將散點(diǎn)圖中的標(biāo)記顏色設(shè)置為橙色。
下表列出了所有有效的顏色名稱和短名稱,以及對應(yīng)的 RGB 三元組和十六進(jìn)制顏色代碼。
顏色名稱 | 短名稱 | RGB 三元組 | 十六進(jìn)制顏色代碼 | 外觀 |
---|---|---|---|---|
"red" | "r" | [1 0 0] | "#FF0000" | |
"green" | "g" | [0 1 0] | "#00FF00" | |
"blue" | "b" | [0 0 1] | "#0000FF" | |
"cyan" | "c" | [0 1 1] | "#00FFFF" | |
"magenta" | "m" | [1 0 1] | "#FF00FF" | |
"yellow" | "y" | [1 1 0] | "#FFFF00" | |
"black" | "k" | [0 0 0] | "#000000" | |
"white" | "w" | [1 1 1] | "#FFFFFF" |
以下是 MATLAB 在許多類型的繪圖中使用的默認(rèn)顏色的 RGB 三元組和十六進(jìn)制顏色代碼。這些顏色沒有與之相關(guān)聯(lián)名稱。
RGB 三元組 | 十六進(jìn)制顏色代碼 | 外觀 |
---|---|---|
[0 0.4470 0.7410] | "#0072BD" | |
[0.8500 0.3250 0.0980] | "#D95319" | |
[0.9290 0.6940 0.1250] | "#EDB120" | |
[0.4940 0.1840 0.5560] | "#7E2F8E" | |
[0.4660 0.6740 0.1880] | "#77AC30" | |
[0.3010 0.7450 0.9330] | "#4DBEEE" | |
[0.6350 0.0780 0.1840] | "#A2142F" |
2.指定條形圖的顏色
通過調(diào)用bar
函數(shù)并將可選的color
參量指定為 "red"
,創(chuàng)建一個(gè)紅色條形圖。以b
形式返回條形對象,以便以后可以自定義圖的其他方面。
b = bar(1:10,"red");
現(xiàn)在,通過將FaceColor
和EdgeColor
屬性設(shè)置為十六進(jìn)制顏色代碼 "#80B3FF"
,將條形圖填充顏色和輪廓顏色更改為淺藍(lán)色。
在 R2019a 之前,指定 RGB 三元組,而不是十六進(jìn)制顏色代碼。例如,b.FaceColor=[0.5 0.7 1]
。
b.FaceColor = "#80B3FF"; b.EdgeColor = "#80B3FF";
3.指定散點(diǎn)圖中的標(biāo)記顏色
創(chuàng)建隨機(jī)數(shù)散點(diǎn)圖。將標(biāo)記大小指定為75
磅,并使用名稱-值參量指定標(biāo)記輪廓和填充顏色。MarkerEdgeColor
屬性控制輪廓顏色,而MarkerFaceColor
屬性控制填充顏色。
x = rand(1,100); y = rand(1,100); scatter(x,y,75,"MarkerEdgeColor","b", ... "MarkerFaceColor",[0 0.7 0.7])
4.指定一系列繪圖中的顏色
創(chuàng)建一系列繪圖有兩種方式:
多次調(diào)用一個(gè)繪圖函數(shù),并使用
hold
函數(shù)來保留坐標(biāo)區(qū)的內(nèi)容。將一個(gè)包含多個(gè)數(shù)據(jù)序列的矩陣傳遞給繪圖函數(shù)。
plot
函數(shù)始終接受矩陣輸入,許多其他繪圖函數(shù)也支持矩陣輸入。
要為上述方法中的任一方法指定顏色,請使用一個(gè)輸出參量調(diào)用所需的繪圖函數(shù),以便可以訪問各個(gè)繪圖對象。然后在要更改的繪圖對象上設(shè)置屬性。
例如,創(chuàng)建一個(gè)包含 100 磅的填充標(biāo)記的散點(diǎn)圖。使用輸出參量s1
調(diào)用scatter
函數(shù)。調(diào)用hold
函數(shù)以保留坐標(biāo)區(qū)的內(nèi)容,然后使用輸出參量s2
和s3
再調(diào)用兩次scatter
函數(shù)。變量s1
、s2
和s3
是Scatter
對象。
figure x = 1:5; s1 = scatter(x,[6 3 9 10 7],100,"filled"); hold on s2 = scatter(x,[16 13 19 20 17],100,"filled"); s3 = scatter(x,[26 23 29 33 27],100,"filled"); hold off
將第二個(gè)Scatter
對象的顏色更改為紫色。
s2.MarkerFaceColor = [0.7 0 1];
scatter
函數(shù)還支持矩陣輸入(從 R2021a 開始提供),因此您可以通過傳遞矩陣并返回對象向量來創(chuàng)建相同的繪圖。
figure x = 1:5; y = [6 3 9 10 7; 16 13 19 20 17; 26 23 29 33 27]; s = scatter(x,y,100,"filled");
在這種情況下,要更改第二個(gè)數(shù)據(jù)序列的顏色,請通過對s
進(jìn)行索引來訪問第二個(gè)Scatter
對象。
s(2).MarkerFaceColor = [0.7 0 1];
推薦閱讀:Matlab常用繪圖顏色搭配有哪些
相關(guān)文章
Matlab常用繪圖顏色搭配有哪些? matlab繪圖顏色代碼整理匯總
在MATLAB中繪圖時(shí),選擇合適的配色方案對于數(shù)據(jù)的可視化至關(guān)重要,整理了一些超實(shí)用的MATLAB繪圖顏色,它們可以提升圖表的吸引力2025-01-13MATLAB中的條件語句與循環(huán)結(jié)構(gòu)怎么使用? 條件語句與循環(huán)結(jié)構(gòu)詳解
MATLAB提供了多種條件語句和循環(huán)結(jié)構(gòu),下面是對MATLAB中條件語句和循環(huán)結(jié)構(gòu)的詳細(xì)解釋,詳細(xì)如下2025-01-11MATLAB中構(gòu)if elseif else語句的實(shí)例教程
在MATLAB中,主要有if、elseif、else和switch語句,我們通過示例代碼幫助讀者更好地理解if、elseif、else的概念2025-01-11matlab怎么控制坐標(biāo)軸范圍? Matlab中指定坐標(biāo)軸范圍的教程
在matlab中,設(shè)置坐標(biāo)軸范圍是通過修改圖形對象屬性來實(shí)現(xiàn)的,該怎么指定坐標(biāo)軸范圍呢?詳細(xì)請看下文介紹2025-01-11- 線性方程組是數(shù)學(xué)中一類重要的問題,廣泛應(yīng)用于科學(xué)、工程和經(jīng)濟(jì)等領(lǐng)域,在Matlab中,我們可以利用內(nèi)置的函數(shù)和工具箱來解決線性方程組,本文將介紹如何使用Matlab求解線性2025-01-11
matlab怎么畫函數(shù)圖像? MATLAB繪制函數(shù)圖像的實(shí)例教程
有時(shí)候我們在使用matlab的時(shí)候,想畫函數(shù)圖像,怎么畫呢,?繪制方法很簡單,下面來分享一下2025-01-11MATLAB如何調(diào)用function? 一文看懂functionfunction函數(shù)的試用技巧
MATLAB的functions函數(shù),用于查詢和調(diào)試函數(shù)句柄信息,該怎么了解并使用這個(gè)函數(shù)呢?詳細(xì)請看下文介紹2025-01-10matlab提示內(nèi)存不足怎么辦? MATLAB內(nèi)存不足及MAT文件版本過低解決方案
Matlab作為一款科學(xué)計(jì)算軟件,其內(nèi)存管理變得尤為重要,當(dāng)遇到“內(nèi)存不足”的錯(cuò)誤提示時(shí),許多用戶可能會(huì)感到困擾,下面我們就來看看詳細(xì)解決辦法2025-01-10- 很多小伙伴還不了解matlab怎么生成圖像,其實(shí)很簡單的我們只要準(zhǔn)備好的圖像復(fù)制到matlab的工作目錄中,然后入返回指令[data=imread在主界面將圖像轉(zhuǎn)換為數(shù)據(jù)就可以了,詳2024-01-20
matlab怎么刪除某一行錯(cuò)誤代碼 matlab把錯(cuò)誤行刪掉的技巧
用戶在使用matlab時(shí)多打一行代碼或者出現(xiàn)一行錯(cuò)誤的代碼要怎么刪除,其實(shí)只要選中要?jiǎng)h除的代碼直接注釋或者delete刪除即可,詳細(xì)請看下文介紹2024-01-20