MATLAB 自定義圖例

Ammar Ali 2023年1月30日 2021年4月29日
  1. 使用 MATLAB 中的 legend() 函式新增自定義圖例
  2. 使用 MATLAB 中的 text() 函式新增自定義圖例
MATLAB 自定義圖例

在本教程中,我們將討論如何使用 MATLAB 中的 legend()text() 函式將自定義圖例新增到繪圖中。

使用 MATLAB 中的 legend() 函式新增自定義圖例

legend() 函式用於在 MATLAB 中將圖例新增到繪圖中。但是問題在於,它只能在一個圖上新增一個圖例。如果你嘗試使用此函式新增多個圖例,則 MATLAB 將給出錯誤。因此,要新增與圖沒有任何關係的自定義圖例,你必須在圖上新增更多具有未定義值的圖,然後可以新增更多圖例。你將不會看到這些圖,因為它們的值是不確定的,但是你會看到圖例。例如,讓我們向餘弦波圖新增自定義圖例。請參見下面的程式碼。

t = 1:0.01:2;
plot(cos(2*pi*t))
hold on
p(1) = plot(NaN,NaN);
p(2) = plot(NaN,NaN);
p(3) = plot(NaN,NaN);
hold off
legend(p,'Cos1','Cos2','Cos3')

輸出:

自定義圖例在 Matlab 中使用 legend()函式

在上面的程式碼中,我們在餘弦波圖上新增了三個圖例,你可以看到它們與圖不相關。你可以根據需要在圖上新增任意數量的圖例。你只需要在同一圖形上新增更多具有未定義值的圖即可。檢視此網頁以獲取有關 legend() 函式的更多資訊。

使用 MATLAB 中的 text() 函式新增自定義圖例

我們還可以使用 text() 函式將文字新增到繪圖中。你需要傳遞要在其上放置文字的 x 和 y 座標。只需繪製變數,然後從圖中選擇座標,然後使用 text() 函式將文字放置在所選座標上即可。如果提供的座標不位於繪圖上,則將無法看到文字。你還可以使用 FontSize 屬性更改文字的屬性,例如字型大小,並使用 Color 屬性更改顏色,例如,讓我們繪製一個餘弦波並在其上放置一些字型大小為 18 和紅色的文字顏色。請參見下面的程式碼。

t = 1:0.01:2;
plot(cos(2*pi*t))
t = text(100,0.8,'Cos1','FontSize',18,'Color','r')

輸出:

在 Matlab 中使用 text()函式自定義圖例

現在,讓我們在文字之前新增一條藍線,並在文字和該行周圍新增一個黑框。請參見下面的程式碼。

t = 1:0.01:2;
plot(cos(2*pi*t))
tex = text(95,0.8,'{\color{blue} ---} Cos','FontSize',18,'Color','k','EdgeColor','k')

輸出:

在 Matlab 中使用 text()函式自定義圖例

你可以通過在單元格中的行之前定義所需的顏色,使用 Color 屬性的文字以及使用 EdgeColor 屬性的框來為行指定所需的顏色。你還可以在圖上的多個位置新增多個文字,這些文字具有不同的文字、線型、顏色、大小和框。例如,讓我們在上面的圖形上再新增一個文字,其中帶有紅色的餘弦文字,綠色的*標記,綠色的方框,黃色的框和 18 種字型大小。請參見下面的程式碼。

t = 1:0.01:2;
plot(cos(2*pi*t))
tex1 = text(95,0.8,'{\color{blue} ---} Cos','FontSize',18,'Color','k','EdgeColor','k')
tex2 = text(89,0.4,'{\color{red} *} Cosine','FontSize',18,'Color','g','EdgeColor','y')

輸出:

在 Matlab 中使用 text()函式自定義圖例

你還可以通過對字串進行單元格排列,將多個字串放在同一框中。檢視此網頁以獲取有關 text() 函式的更多資訊。

Author: Ammar Ali
Ammar Ali avatar Ammar Ali avatar

Hello! I am Ammar Ali, a programmer here to learn from experience, people, and docs, and create interesting and useful programming content. I mostly create content about Python, Matlab, and Microcontrollers like Arduino and PIC.

LinkedIn Facebook

相關文章 - MATLAB Plot