不管是寫論文,還是做方案,總需要數據圖形作為支撐。今天,簡單分享幾個Matlab二維畫圖常用的命令,讓你也可以畫出漂亮的圖形。
單座標軸曲線繪製
繪圖一般分為三步:數據準備、畫圖命令、增加修飾。
1.數據準備
一般可以直接在Matlab工作空間建立數據,或者通過命令導入數據,如用xlsread()可導入excel文件中的數據。
我們直接在Matlab定義向量X1,Y1,Y2:;
<code>X1=[0:0.01:10]; Y1=sin(X1); Y2=0.1.*X1;/<code>
2、命令畫圖
用plot(x,y)可繪製以x為橫座標,y為縱座標的數據。
利用以上數據,執行以下命令:
<code>plot(X1,Y1,'r','Linewidth',2); hold; plot(X1,Y2,'k','Linewidth',2);/<code>
可畫出初步的數據圖形,如下圖。
3、增加座標軸、標題、說明等修飾。
通過各種修飾命令讓圖形更加清晰,一目瞭然。
繼續執行以下命令:
<code>grid ;%%顯示網格 axis([0 10 -1.5 1.5]); %%設置座標軸範圍 set(gca, 'LineWidth',2); %%設置座標軸線寬 xlabel('時間/s'); %%設置橫座標 ylabel('幅值/m'); %%設置縱座標 legend('曲線1', '曲線2'); %%設置線條說明 title('XX標題'); %%設置標題/<code>
得到如下圖形,看起來還可以。
以上3個步驟之後,基本可以得到滿意的圖形了。
當同一個圖中曲線較多時,可以通過顏色、線性、標記等做區分,常用的曲線設置如下圖。
常用的圖形標註命令如下圖。
雙座標軸曲線繪製
當兩個曲線範圍相差較大時,如果用單座標軸顯示效果會很差,這個時候可以考慮使用雙座標軸顯示。
主要命令是[AX,H1,H2]=plotyy(X1,Y1,X2,Y2),返回AX、H1、H2。AX是兩個座標軸的句柄,AX(1)代表左側軸, AX(2)代表右側軸;H1和H2中兩條曲線的句柄。
句柄可理解為一個對象的ID,通過對某個ID的施加命令,以達到操作某個對象的目的,Matlab很多函數需要藉助句柄進行操作。
執行以下命令:
<code>X1=[0:0.01:10]; %%數據準備 Y1=sin(X1); Y2=X1; [AX,H1,H2]=plotyy(X1,Y1,X1,Y2); %%繪圖 grid; %%顯示網格 set(AX(1),'ylim',[-1.5,1.5]); %%設置左側縱座標範圍 set(AX(2),'ylim',[-5,15]); %%設置右側縱座標範圍 xlabel('X Axis'); %%設置橫座標 ylabel(AX(1),'Y1 Axis'); %%設置左側縱座標 ylabel(AX(2),'Y2 Axis'); %%設置右側縱座標 set(H1,'color','b'); %%設置曲線1的顏色 set(H2,'color','r'); %%設置曲線2的顏色 set(H1,'linewidth',2); %%設置曲線1的線寬 set(H2,'linewidth',2); %%設置曲線2的線寬 set(gca, 'LineWidth',2) %%設置座標軸線寬 legend('Y1','Y2'); %%設置線條說明 title('Y1&Y2'); %%設置標題/<code>
可得到雙座標曲線如下圖。
當曲線數量大於2條時,一般採用數據縮放的形式顯示,也可以採用下面將介紹的子圖方式顯示。
子圖繪製
當圖形數量較多時,為了對比更加直觀,同時節省繪圖空間,可以在同一個繪圖窗口下繪製多幅子圖,這時可以使用subplot函數。
subplot函數的一般語法形式為:
h = subplot(m, n, p)
即可在當前繪圖區中創建m×n個繪圖子區,並將第p個繪圖子區選定為當前繪圖區。
subplot僅創建子圖座標平面,在該座標平面內繪製子圖,仍然需要使用plot 函數或其他繪圖函數。
運行以下命令:
<code>X1=[0:0.01:10]; %%數據定義 Y1=sin(X1); Y2=0.1.*X1; Y3=cos(X1); Y4=X1.^2; subplot(2,2,1); plot(X1,Y1,'r','Linewidth',2); grid; xlabel('時間/s'); ylabel('幅值/m'); title('標題1'); subplot(2,2,2); %%子圖2繪製 plot(X1,Y2,'k','Linewidth',2); grid; xlabel('時間/s'); ylabel('幅值/m'); title('標題2'); subplot(2,2,3); %%子圖3繪製 plot(X1,Y3,'m','Linewidth',2); grid; xlabel('時間/s'); ylabel('幅值/m'); title('標題3'); subplot(2,2,4); %%子圖4繪製 plot(X1,Y4,'g','Linewidth',2); grid; xlabel('時間/s'); ylabel('幅值/m'); title('標題4');/<code>
可得到結果如下圖:
手動調整
對於一些不常用的設置類型或者不習慣用代碼畫圖,可以自行在Figure界面中的Insert、Tools菜單欄中進行相應的操作來修改圖形屬性或註釋等等。
Insert下拉菜單欄如下圖,包含了上面提到的座標軸、標題等設置。
Tool下拉菜單欄如下圖,包含了縮放、視角等操作。
在File菜單下點擊Export Setup,會彈出輸出設置界面,在裡面可以設置圖形大小、顏色、分辨率等等,最後可以選擇Export輸出Png、Tiff等圖片類型。當然可以保存常用的圖片輸出類型設置,下次使用時點擊Load和Apply toFigure即可快速設置已保存的輸出類型。
以上,簡要介紹了Matlab中二維畫圖的基本操作,更多內容可查閱Matlab官方幫助文檔瞭解。