Matlab畫圖,只需要這幾步

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


可畫出初步的數據圖形,如下圖。

Matlab畫圖,只需要這幾步


3、增加座標軸、標題、說明等修飾。


通過各種修飾命令讓圖形更加清晰,一目瞭然。


繼續執行以下命令:

<code>grid ;%%顯示網格
axis([0 10 -1.5 1.5]); %%設置座標軸範圍
set(gca, 'LineWidth',2); %%設置座標軸線寬
xlabel('時間/s'); %%設置橫座標
ylabel('幅值/m'); %%設置縱座標
legend('曲線1', '曲線2'); %%設置線條說明
title('XX標題'); %%設置標題/<code>


得到如下圖形,看起來還可以。

Matlab畫圖,只需要這幾步

以上3個步驟之後,基本可以得到滿意的圖形了。


當同一個圖中曲線較多時,可以通過顏色、線性、標記等做區分,常用的曲線設置如下圖。

Matlab畫圖,只需要這幾步


常用的圖形標註命令如下圖。

Matlab畫圖,只需要這幾步


雙座標軸曲線繪製

當兩個曲線範圍相差較大時,如果用單座標軸顯示效果會很差,這個時候可以考慮使用雙座標軸顯示。


主要命令是[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>


可得到雙座標曲線如下圖。

Matlab畫圖,只需要這幾步

當曲線數量大於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> 

可得到結果如下圖:

Matlab畫圖,只需要這幾步

手動調整

對於一些不常用的設置類型或者不習慣用代碼畫圖,可以自行在Figure界面中的Insert、Tools菜單欄中進行相應的操作來修改圖形屬性或註釋等等。


Insert下拉菜單欄如下圖,包含了上面提到的座標軸、標題等設置。

Matlab畫圖,只需要這幾步


Tool下拉菜單欄如下圖,包含了縮放、視角等操作。

Matlab畫圖,只需要這幾步


在File菜單下點擊Export Setup,會彈出輸出設置界面,在裡面可以設置圖形大小、顏色、分辨率等等,最後可以選擇Export輸出Png、Tiff等圖片類型。當然可以保存常用的圖片輸出類型設置,下次使用時點擊Load和Apply toFigure即可快速設置已保存的輸出類型。

Matlab畫圖,只需要這幾步


以上,簡要介紹了Matlab中二維畫圖的基本操作,更多內容可查閱Matlab官方幫助文檔瞭解。


分享到:


相關文章: