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')
輸出:
在上面的程式碼中,我們在餘弦波圖上新增了三個圖例,你可以看到它們與圖不相關。你可以根據需要在圖上新增任意數量的圖例。你只需要在同一圖形上新增更多具有未定義值的圖即可。檢視此網頁以獲取有關 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')
輸出:
現在,讓我們在文字之前新增一條藍線,並在文字和該行周圍新增一個黑框。請參見下面的程式碼。
t = 1:0.01:2;
plot(cos(2*pi*t))
tex = text(95,0.8,'{\color{blue} ---} Cos','FontSize',18,'Color','k','EdgeColor','k')
輸出:
你可以通過在單元格中的行之前定義所需的顏色,使用 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')
輸出:
你還可以通過對字串進行單元格排列,將多個字串放在同一框中。檢視此網頁以獲取有關 text()
函式的更多資訊。