matlab的legend用法

  高質量學習資源免費獲取,專一但不限於【Linux】【C/C++/Qt】【FPGA】【數據結構與算法】, 根據多年技術經驗純【原創】,純【乾貨】,分享【技術心得】,力求【授人以魚,更授人以漁】。算法

 

用Matlab畫圖時,有時候須要對各類圖標進行標註,例如,用「+」表明A的運動狀況,「*」表明B的運動狀況。數據結構

legend函數的基本用法是:ide

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

分別將字符串一、字符串二、字符串3……標註到圖中,每一個字符串對應的圖標爲畫圖時的圖標。學習

例如:spa

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

legend('sin','cos')這樣能夠把"."標識爲'sin',把"+"標識爲"cos"orm

還能夠用LEGEND(...,'Location',LOC) 來指定圖例標識框的位置對象

 

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

        '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);    %強行將註釋視窗放在圖形視窗的外右邊。 

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

相關文章
相關標籤/搜索