matlab的legend用法


 

 

 

用Matlab畫圖時,有時候需要對各種圖標進行標注,例如,用“+”代表A的運動情況,“*”代表B的運動情況。

legend函數的基本用法是:

LEGEND(string1,string2,string3, ...)

分別將字符串1、字符串2、字符串3……標注到圖中,每個字符串對應的圖標為畫圖時的圖標。

例如:

plot(x,sin(x),'.b',x,cos(x),'+r')

legend('sin','cos')這樣可以把"."標識為'sin',把"+"標識為"cos"

還可以用LEGEND(...,'Location',LOC) 來指定圖例標識框的位置

 

這些是Matlab help文件。后面一段是對應的翻譯和說明

        'North'              inside plot box near top
        'South'              inside bottom
        'East'               inside right
        'West'               inside left
        'NorthEast'          inside top right (default)
        'NorthWest      

...

matlab繪圖中legend的終極用法

 

高級用法1:指定legend顯示的位置:

legend({'str1','str2','strn'},1);

legend({'str1','str2','strn'},2);

legend({'str1','str2','strn'},'Location','SouthEast');

高級用法2:指定顯示某幾條曲線的legend

方法1:

例如你有25條曲線,想顯示其中1,6,11,16,21的legend,則

for i = [2:5 7:10 12:15 17:20 22:25]
     set(get(get(H(i),'Annotation'),'LegendInformation'),'IconDisplayStyle','off');
end
legend('1','6','11','16','21');

方法2:

 H = plot(data);
legend(H([1 6 11 16 21],'1,'6','11’,'16','21');

高級用法3:legend橫排

hl = legend(H([1 6 11 16 21],'1,'6','11’,'16','21');
set(hl,'Orientation','horizon')

高級用法4:不顯示方框:

hl = legend(H([1 6 11 16 21],'1,'6','11’,'16','21');
set(hl,'Box','off');

 

 

matlablegend函數在添加圖例時的使用方法

功能 :

在圖形上添加圖例。該命令對有多種圖形對象類型(線條圖,條形圖,餅形圖等)的窗口中顯示一個圖例。對於每一線條,圖例會在用戶給定的文字標簽旁顯示線條的線型,標記符號和顏色等。當所畫的是區域(patch或surface對象)時,圖例會在文字旁顯示表面顏色。Matlab在一個坐標軸中僅僅顯示一個圖例。圖例的位置有幾個因素決定,像遮擋的對象等,用戶可以用鼠標拖動圖例到恰當的位置,雙擊標簽可以進入標簽編輯狀態。 

 

用法:

legend('string1','string2',…) 用指定的文字string在當前坐標軸中對所給數據的每一部分顯示一個圖例。 

legend(h,'string1','string2',…) 用指定的文字string在一個包含於句柄向量h中的圖形顯示圖例。用給定的數據對相應的圖形對象加上圖例。 

legend(string_matrix) 用字符矩陣參量string_matrix的每一行字符串作為標簽。 

legend(h,string_matrix) 用字符矩陣參量string_matrix的每一行字符串作為標簽給包含於句柄向量h中的相應的圖形對象加標簽。 

legend(axes_handle,…) 給由句柄axes_handle指定的坐標軸顯示圖例。

 legend('off') 從當前的坐標軸,或是由axes-handle指定的坐標軸中除掉圖例。

 legend(axes_handle,'off') 從由axes_handle指定的坐標軸中除掉圖例。legend_handle = legend 返回當前坐標軸中的圖例句柄,若坐標軸中沒有圖例存在,則返回空        向量。 

legend 對當前圖形中所有的圖例進行刷新。 

legend(legend_handle) 對由句柄legend_handle指定的圖例進行刷新。

 

當在一個坐標系上畫多幅圖形時,為區分各個圖形,Matlab提供了圖例的注釋說明函數。其格式如下:  

    legend(字符串1,字符串2,字符串3,…,參數)  

      參數字符串的含義如下表所示:  

 

  參數字符串                                      含  義  

0                              盡量不與數據沖突,自動放置在最佳位置  

1                                                          放置在圖形的右上角 

2                                                          放置在圖形的左上角    

3                                                          放置在圖形的左下角

4                                                          放置在圖形的右下角    

-1                              放置在圖形視窗的外右邊    

      此函數在圖中開啟了一個注釋視窗,依據繪圖的先后順序,依據輸出字符串對各個圖形進行注釋說明。如字符串1表示第一個出現的線條,字符串2表示第二個出現的線條,參數字符串確定注釋視窗在圖形中的位置。同時,注釋視窗也可以用鼠標拖動,以便將其放置在一個合適的位置。 

 

【 例 】在同一坐標內,繪出兩條函數曲線並有圖解注釋。

>>x=0:0.2:12; 

      >>plot(x,sin(x),‘-’,x,1.5*cos(x),‘:’) 

      legend(‘First’,‘Second’,-1);    %強行將注釋視窗放在圖形視窗的外右邊。 

程序運行的結果如圖所示:

 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM