不管是寫論文,還是做方案,總需要數據圖形作為支撐。今天,簡單分享幾個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官方幫助文檔瞭解。