高質量學習資源免費獲取,專一但不限於【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');
matlab中legend函數在添加圖例時的使用方法
功能 :
在圖形上添加圖例。該命令對有多種圖形對象類型(線條圖,條形圖,餅形圖等)的窗口中顯示一個圖例。對於每一線條,圖例會在用戶給定的文字標籤旁顯示線條的線型,標記符號和顏色等。當所畫的是區域(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); %強行將註釋視窗放在圖形視窗的外右邊。
程序運行的結果如圖所示: