matlab plot繪圖函數官方詳解

plot:

二維線圖函數


語法

plot(X,Y)

plot(X,Y,LineSpec)

plot(X1,Y1,...,Xn,Yn)

plot(X1,Y1,LineSpec1,...,Xn,Yn,LineSpecn)

plot(Y)

plot(Y,LineSpec)

plot(___,Name,Value)

plot(ax,___)

h = plot(___)

說明

plot(X,Y) 創建 Y 中數據對 X 中對應值的二維線圖。

  • 如果 X 和 Y 都是向量,則它們的長度必須相同。plot 函數繪製 Y 對 X 的圖。

  • 如果 X 和 Y 均爲矩陣,則它們的大小必須相同。plot 函數繪製 Y 的列對 X 的列的圖。

  • 如果 X 或 Y 中的一個是向量而另一個是矩陣,則矩陣的各維中必須有一維與向量的長度相等。如果矩陣的行數等於向量長度,則 plot 函數繪製矩陣中的每一列對向量的圖。如果矩陣的列數等於向量長度,則該函數繪製矩陣中的每一行對向量的圖。如果矩陣爲方陣,則該函數繪製每一列對向量的圖。

  • 如果 X 或 Y 之一爲標量,而另一個爲標量或向量,則 plot 函數會繪製離散點。但是,要查看這些點,您必須指定標記符號,例如 plot(X,Y,'o')

plot(X,Y,LineSpec) 設置線型、標記符號和顏色。

plot(X1,Y1,...,Xn,Yn) 繪製多個 XY 對組的圖,所有線條都使用相同的座標區。

plot(X1,Y1,LineSpec1,...,Xn,Yn,LineSpecn) 設置每個線條的線型、標記符號和顏色。您可以混用 XYLineSpec 三元組和 XY 對組:例如,plot(X1,Y1,X2,Y2,LineSpec2,X3,Y3)

plot(Y) 創建 Y 中數據對每個值索引的二維線圖。

  • 如果 Y 是向量,x 軸的刻度範圍是從 1 至 length(Y)

  • 如果 Y 是矩陣,則 plot 函數繪製 Y 中各列對其行號的圖。x 軸的刻度範圍是從 1 到 Y 的行數。

  • 如果 Y 是複數,則 plot 函數繪製 Y 的虛部對 Y 的實部的圖,使得 plot(Y) 等效於 plot(real(Y),imag(Y))

plot(Y,LineSpec) 設置線型、標記符號和顏色。

plot(___,Name,Value) 使用一個或多個 Name,Value 對組參數指定線條屬性。有關屬性列表,請參閱 Line 屬性。可以將此選項與前面語法中的任何輸入參數組合一起使用。名稱-值對組設置將應用於繪製的所有線條。

plot(ax,___) 將在由 ax 指定的座標區中,而不是在當前座標區 (gca) 中創建線條。選項 ax 可以位於前面的語法中的任何輸入參數組合之前。

h = plot(___) 返回由圖形線條對象組成的列向量。在創建特定的圖形線條後,可以使用 h 修改其屬性。有關屬性列表,請參閱 Line 屬性

示例

創建線圖

將 x 創建爲由 0 和之間的線性間隔值組成的向量。在各值之間使用遞增量。將 y 創建爲 x 的正弦值。創建數據的線圖。

x = 0:pi/100:2*pi;
y = sin(x);
plot(x,y)

繪製多個線條

將 x 定義爲 100 個介於和之間的線性間隔值。將 y1 和 y2 定義爲 x 的正弦和餘弦值。創建上述兩個數據集的線圖。

x = linspace(-2*pi,2*pi);
y1 = sin(x);
y2 = cos(x);

figure
plot(x,y1,x,y2)

根據矩陣創建線圖

將 Y 定義爲 magic 函數返回的 4×4 矩陣。

Y = magic(4)
Y = 4×4

    16     2     3    13
     5    11    10     8
     9     7     6    12
     4    14    15     1

創建 Y 的二維線圖。MATLAB® 將矩陣的每一列繪製爲單獨的線條。

figure
plot(Y)

指定線型

繪製三條正弦曲線,每條曲線之間存在較小的相移。第一條曲線使用默認的線型。爲第二條曲線指定虛線樣式,第三條曲線指定點式線樣式。

x = 0:pi/100:2*pi;
y1 = sin(x);
y2 = sin(x-0.25);
y3 = sin(x-0.5);

figure
plot(x,y1,x,y2,'--',x,y3,':')

MATLAB® 按默認的色序循環使用線條顏色。

指定線型、顏色和標記

繪製三條正弦曲線,每條曲線之間存在較小的相移。第一條正弦曲線使用綠色線條,不帶標記。第二條正弦曲線使用藍色虛線,帶圓形標記。第三條正弦曲線只使用青藍色星號標記。

x = 0:pi/10:2*pi;
y1 = sin(x);
y2 = sin(x-0.25);
y3 = sin(x-0.5);

figure
plot(x,y1,'g',x,y2,'b--o',x,y3,'c*')

在特定的數據點顯示標記

通過指定標記符號並將 MarkerIndices 屬性設置爲名稱-值對組,創建一個線圖並每隔四個數據點顯示一個標記。

x = linspace(0,10);
y = sin(x);
plot(x,y,'-o','MarkerIndices',1:5:length(y))

指定線寬、標記大小和標記顏色

創建線圖並使用 LineSpec 選項指定帶正方形標記的綠色虛線。使用 Name,Value 對組來指定線寬、標記大小和標記顏色。將標記邊顏色設置爲藍色,並使用 RGB 顏色值設置標記面顏色。

x = -pi:pi/10:pi;
y = tan(sin(x)) - sin(tan(x));

figure
plot(x,y,'--gs',...
    'LineWidth',2,...
    'MarkerSize',10,...
    'MarkerEdgeColor','b',...
    'MarkerFaceColor',[0.5,0.5,0.5])

添加標題和軸標籤

使用 linspace 函數將 x 定義爲 0 到 10 之間 150 個值組成的向量。將 y 定義爲 x 的餘弦值。

x = linspace(0,10,150);
y = cos(5*x);

創建餘弦曲線的二維線圖。使用 RGB 顏色值將線條顏色更改爲藍綠色。使用 titlexlabel 和 ylabel 函數爲圖形添加標題和軸標籤。

figure
plot(x,y,'Color',[0,0.7,0.9])

title('2-D Line Plot')
xlabel('x')
ylabel('cos(5x)')

繪製持續時間並指定刻度格式

將 t 定義爲 7 個介於 0 到 3 分鐘之間的 duration 線性間隔值。繪製隨機數據並使用 'DurationTickFormat' 名稱-值對組參數指定 duration 刻度線的格式。

t = 0:seconds(30):minutes(3);
y = rand(1,7);

plot(t,y,'DurationTickFormat','mm:ss')

指定線圖的座標區

從 R2019b 開始,您可以使用 tiledlayout 和 nexttile 函數顯示分塊繪圖。調用 tiledlayout 函數以創建一個 2×1 分塊圖佈局。調用 nexttile 函數創建一個座標區對象,並將該對象返回爲 ax1。通過將 ax1 傳遞給 plot 函數來創建頂部繪圖。通過將座標區傳遞給 title 和 ylabel 函數,爲圖添加標題和 y 軸標籤。重複該過程以創建底部繪圖。

% Create data and 2-by-1 tiled chart layout
x = linspace(0,3);
y1 = sin(5*x);
y2 = sin(15*x);
tiledlayout(2,1)

% Top plot
ax1 = nexttile;
plot(ax1,x,y1)
title(ax1,'Top Plot')
ylabel(ax1,'sin(5x)')

% Bottom plot
ax2 = nexttile;
plot(ax2,x,y2)
title(ax2,'Bottom Plot')
ylabel(ax2,'sin(15x)')

創建並修改線條

將 x 定義爲 100 個介於和之間的線性間隔值。將 y1 和 y2 定義爲 x 的正弦和餘弦值。爲上述兩個數據集分別創建線圖,並在 p 中返回兩個圖形線條。

x = linspace(-2*pi,2*pi);
y1 = sin(x);
y2 = cos(x);
p = plot(x,y1,x,y2);

將第一個線條的線寬更改爲 2。向第二行添加星形標記。從 R2014b 開始,您可以使用圓點表示法設置屬性。如果您使用的是早期版本,請改用 set 函數。

p(1).LineWidth = 2;
p(2).Marker = '*';

繪製圓形

繪製以點 (4,3) 爲中心以 2 爲半徑的圓。使用 axis equal 可沿每個座標方向使用相等的數據單位。

r = 2;
xc = 4;
yc = 3;

theta = linspace(0,2*pi);
x = r*cos(theta) + xc;
y = r*sin(theta) + yc;
plot(x,y)
axis equal

輸入參數

Y - y 值
標量 | 向量 | 矩陣

y 值,指定爲標量、向量或矩陣。要根據特定的 x 值繪圖,還必須指定 X

數據類型: single | double | int8 | int16 | int32 | int64 | uint8 | uint16 | uint32 | uint64 | categorical | datetime | duration

X - x 值
標量 | 向量 | 矩陣

x 值,指定爲標量、向量或矩陣。

數據類型: single | double | int8 | int16 | int32 | int64 | uint8 | uint16 | uint32 | uint64 | categorical | datetime | duration

LineSpec - 線型、標記和顏色
字符向量 | 字符串

線型、標記和顏色,指定爲包含符號的字符向量或字符串。符號可以按任意順序顯示。您不需要同時指定所有三個特徵(線型、標記和顏色)。例如,如果忽略線型,只指定標記,則繪圖只顯示標記,不顯示線條。

示例: '--or' 是帶有圓形標記的紅色虛線

線型 說明
- 實線(默認)
-- 虛線
: 點線
-. 點劃線
標記 說明
o 圓圈
+ 加號
* 星號
.
x 叉號
s 方形
d 菱形
^ 上三角
v 下三角
> 右三角
< 左三角
p 五角形
h 六角形
顏色 說明

y

黃色

m

品紅色

c

青藍色

r

紅色

g

綠色

b

藍色

w

白色

k

黑色

ax - 目標座標區
Axes 對象 | PolarAxes 對象 | GeographicAxes 對象

目標座標區,指定爲 Axes 對象、PolarAxes 對象或 GeographicAxes 對象。如果不指定座標區或當前座標區是笛卡爾座標區,plot 函數將使用當前座標區。要在極座標區上繪圖,請指定 PolarAxes 對象作爲第一個輸入參數,或者使用 polarplot 函數。要在地理座標區上繪圖,請指定 GeographicAxes 對象作爲第一個輸入參數,或者使用 geoplot 函數。

名稱-值對組參數

指定可選的、以逗號分隔的 Name,Value 對組參數。Name 爲參數名稱,Value 爲對應的值。Name 必須放在引號中。您可採用任意順序指定多個名稱-值對組參數,如 Name1,Value1,...,NameN,ValueN 所示。

示例: 'Marker','o','MarkerFaceColor','red'

此處列出的圖形線條屬性只是一個子集。有關完整列表,請參閱 Line 屬性

'Color' - 線條顏色
[0 0.4470 0.7410] (默認) | RGB 三元組 | 十六進制顏色代碼 | 'r' | 'g' | 'b' | ...

線條顏色,指定爲 RGB 三元組、十六進制顏色代碼、顏色名稱或短名稱。

對於自定義顏色,請指定 RGB 三元組或十六進制顏色代碼。

  • RGB 三元組是包含三個元素的行向量,其元素分別指定顏色中紅、綠、藍分量的強度。強度值必須位於 [0,1] 範圍內,例如 [0.4 0.6 0.7]

  • 十六進制顏色代碼是字符向量或字符串標量,以井號 (#) 開頭,後跟三個或六個十六進制數字,範圍可以是 0 到 F。這些值不區分大小寫。因此,顏色代碼 '#FF8800' 與 '#ff8800''#F80' 與 '#f80' 是等效的。

 

此外,還可以按名稱指定一些常見的顏色。下表列出了命名顏色選項、等效 RGB 三元組和十六進制顏色代碼。

顏色名稱 短名稱 RGB 三元組 十六進制顏色代碼 外觀
'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'

'none' 不適用 不適用 不適用 無顏色

以下是 MATLAB® 在許多類型的繪圖中使用的默認顏色的 RGB 三元組和十六進制顏色代碼。

RGB 三元組 十六進制顏色代碼 外觀
[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'

示例: 'blue'

示例: [0 0 1]

示例: '#0000FF'

'LineStyle' - 線型
'-' (默認) | '--' | ':' | '-.' | 'none'

線型,指定爲下表中列出的選項之一。

線型 說明 表示的線條
'-' 實線

 

 

'--' 虛線

 

 

':' 點線

 

 

'-.' 點劃線

 

 

'none' 無線條 無線條

 

'LineWidth' - 線條寬度
0.5 (默認) | 正值

線寬,指定爲以磅爲單位的正值,其中 1 磅 = 1/72 英寸。如果該線條具有標記,則線條寬度也會影響標記邊。

'Marker' - 標記符號
'none' (默認) | 'o' | '+' | '*' | '.' | 'x' | ...

標記符號,指定爲下表中的標記之一。默認情況下,圖形線條沒有標記。通過指定標記符號沿該線條上的每個數據點添加標記。

說明
'o' 圓圈
'+' 加號
'*' 星號
'.'
'x' 叉號
'square' 或 's' 方形
'diamond' 或 'd' 菱形
'^' 上三角
'v' 下三角
'>' 右三角
'<' 左三角
'pentagram' 或 'p' 五角星(五角形)
'hexagram' 或 'h' 六角星(六角形)
'none' 無標記

示例: 'Marker','+'

示例: 'Marker','diamond'

'MarkerIndices' - 要顯示標記的數據點的索引
1:length(YData) (默認) | 正整數向量 | 正整數標量

要顯示標記的數據點的索引,指定爲正整數向量。如果不指定索引,MATLAB 將在每個數據點顯示一個標記。

注意

要查看標記,還必須指定標記符號。

示例: plot(x,y,'-o','MarkerIndices',[1 5 10]) 在第一、第五和第十個數據點處顯示圓形標記。

示例: plot(x,y,'-x','MarkerIndices',1:3:length(y)) 每隔三個數據點顯示一個交叉標記。

示例: plot(x,y,'Marker','square','MarkerIndices',5) 在第五個數據點顯示一個正方形標記。

'MarkerEdgeColor' - 標記輪廓顏色
'auto' (默認) | RGB 三元組 | 十六進制顏色代碼 | 'r' | 'g' | 'b' | ...

標記輪廓顏色,指定爲 'auto'、RGB 三元組、十六進制顏色代碼、顏色名稱或短名稱。默認值 'auto' 使用與 Color 屬性相同的顏色。

對於自定義顏色,請指定 RGB 三元組或十六進制顏色代碼。

  • RGB 三元組是包含三個元素的行向量,其元素分別指定顏色中紅、綠、藍分量的強度。強度值必須位於 [0,1] 範圍內,例如 [0.4 0.6 0.7]

  • 十六進制顏色代碼是字符向量或字符串標量,以井號 (#) 開頭,後跟三個或六個十六進制數字,範圍可以是 0 到 F。這些值不區分大小寫。因此,顏色代碼 '#FF8800' 與 '#ff8800''#F80' 與 '#f80' 是等效的。

 

此外,還可以按名稱指定一些常見的顏色。下表列出了命名顏色選項、等效 RGB 三元組和十六進制顏色代碼。

顏色名稱 短名稱 RGB 三元組 十六進制顏色代碼 外觀
'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'

'none' 不適用 不適用 不適用 無顏色

以下是 MATLAB 在許多類型的繪圖中使用的默認顏色的 RGB 三元組和十六進制顏色代碼。

RGB 三元組 十六進制顏色代碼 外觀
[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'

'MarkerFaceColor' - 標記填充顏色
'none' (默認) | 'auto' | RGB 三元組 | 十六進制顏色代碼 | 'r' | 'g' | 'b' | ...

標記填充顏色,指定爲 'auto'、RGB 三元組、十六進制顏色代碼、顏色名稱或短名稱。'auto' 選項使用與父座標區的 Color 屬性相同的顏色。如果您指定 'auto',並且座標區圖框不可見,則標記填充顏色爲圖窗的顏色。

對於自定義顏色,請指定 RGB 三元組或十六進制顏色代碼。

  • RGB 三元組是包含三個元素的行向量,其元素分別指定顏色中紅、綠、藍分量的強度。強度值必須位於 [0,1] 範圍內,例如 [0.4 0.6 0.7]

  • 十六進制顏色代碼是字符向量或字符串標量,以井號 (#) 開頭,後跟三個或六個十六進制數字,範圍可以是 0 到 F。這些值不區分大小寫。因此,顏色代碼 '#FF8800' 與 '#ff8800''#F80' 與 '#f80' 是等效的。

 

此外,還可以按名稱指定一些常見的顏色。下表列出了命名顏色選項、等效 RGB 三元組和十六進制顏色代碼。

顏色名稱 短名稱 RGB 三元組 十六進制顏色代碼 外觀
'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'

'none' 不適用 不適用 不適用 無顏色

以下是 MATLAB 在許多類型的繪圖中使用的默認顏色的 RGB 三元組和十六進制顏色代碼。

RGB 三元組 十六進制顏色代碼 外觀
[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'

'MarkerSize' - 標記大小
6 (默認) | 正值

標記大小,指定爲以磅爲單位的正值,其中 1 磅 = 1/72 英寸。

'DatetimeTickFormat' - datetime 刻度標籤的格式
字符向量 | 字符串

datetime 刻度標籤的格式,指定爲以逗號分隔的對組,該對組由 'DatetimeTickFormat' 和一個包含日期格式的字符向量或字符串組成。可使用字母 A-Z 和 a-z 構造一個自定義格式。這些字母對應於日期的 Unicode® 區域設置數據標記語言 (LDML) 標準。可以使用連字符、空格或冒號等非 ASCII 字母字符來分隔字段。

如果未爲 'DatetimeTickFormat' 指定值,則 plot 將基於座標軸範圍自動優化和更新刻度標籤。

示例: 'DatetimeTickFormat','eeee, MMMM d, yyyy HH:mm:ss' 顯示日期和時間,例如 Saturday, April 19, 2014 21:41:06

下表列舉了多種常見的顯示格式和紐約市 2014 年 4 月 19 日(星期六)下午 9:41:06 的格式化輸出示例。

DatetimeTickFormat 的值 示例
'yyyy-MM-dd' 2014-04-19
'dd/MM/yyyy' 19/04/2014
'dd.MM.yyyy' 19.04.2014
'yyyy年 MM月 dd日' 2014年 04月 19日
'MMMM d, yyyy' April 19, 2014
'eeee, MMMM d, yyyy HH:mm:ss' Saturday, April 19, 2014 21:41:06
'MMMM d, yyyy HH:mm:ss Z' April 19, 2014 21:41:06 -0400

 

有關有效字母標識符的完整列表,請參閱日期時間數組的 Format 屬性。

DatetimeTickFormat 不是圖形線條屬性。創建繪圖時,必須使用名稱-值對組參數設置刻度格式。或者,使用 xtickformat 和 ytickformat 函數設置格式。

日期時間標尺的 TickLabelFormat 屬性存儲格式。

'DurationTickFormat' - duration 刻度標籤的格式
字符向量 | 字符串

duration 刻度標籤的格式,指定爲以逗號分隔的對組,該對組由 'DurationTickFormat' 和一個包含持續時間格式的字符向量或字符串組成。

如果未爲 'DurationTickFormat' 指定值,則 plot 將基於座標軸範圍自動優化和更新刻度標籤。

要將持續時間顯示爲包含小數部分的單個數字,例如 1.234 小時,請指定下表中的值之一。

DurationTickFormat 的值 說明
'y' 精確定長年的數目。固定長度的一年等於 365.2425 天。
'd' 精確定長天的數目。固定長度的一天等於 24 小時。
'h' 小時數
'm' 分鐘數
's' 秒數

 

示例: 'DurationTickFormat','h' 以固定長度的天數顯示持續時間值。

要以數字計時器的形式顯示持續時間,請指定下列值之一。

  • 'dd:hh:mm:ss'

  • 'hh:mm:ss'

  • 'mm:ss'

  • 'hh:mm'

此外,可以通過附加多達 9 個 S 字符顯示多達 9 位小數的秒位。

示例: 'DurationTickFormat','hh:mm:ss.SSS' 以三位數顯示持續時間的毫秒數。

DurationTickFormat 不是圖形線條屬性。創建繪圖時,必須使用名稱-值對組參數設置刻度格式。或者,使用 xtickformat 和 ytickformat 函數設置格式。

持續時間標尺的 TickLabelFormat 屬性存儲格式。

輸出參數

h - 一個或多個圖形線條對象
標量 | 向量

一個或多個圖形線條對象,以標量或向量的形式返回。這些是唯一標識符,可以用來查詢和修改特定圖形線條的屬性。有關屬性列表,請參閱 Line 屬性

提示

  • 使用 NaN 和 Inf 值將行斷開。例如,以下代碼繪製前兩個元素,跳過第三個元素,並使用最後兩個元素繪製另一線條:

    plot([1,2,NaN,4,5])
    
  • plot 基於座標區的 ColorOrder 和 LineStyleOrder 屬性選用顏色和線型。plot 先對第一種線型依序使用每種顏色,直至用盡。然後,再對下一個線型依序使用每種顏色,以此類推。

    從 R2019b 開始,通過設置座標區的 ColorOrder 或 LineStyleOrder 屬性,可以在繪圖後更改顏色和線型。您也可以調用 colororder 函數來更改圖窗中所有座標區的色序。

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章