生活随笔
收集整理的這篇文章主要介紹了
Matlab操作1: 用tight_subplot函数绘制组图(可直接做论文用图)
小編覺得挺不錯的,現(xiàn)在分享給大家,幫大家做個參考.
matlab處理數(shù)據(jù),生成圖形,是日常操作。 繪圖的常用函數(shù)有plot,subplot等。其中subplot可以很方便的將多個圖形繪制到一起。 如下面示例。
close all
i
= 1 :20
;
subplot
( 2,2 ,1
) ;
plot
( i,rand
( 1,20 )) ;
subplot
( 2,2 ,2
) ;
plot
( i
( 1 :5
) ,rand
( 1,5 )) ;
subplot
( 2,2 ,3
) ;
plot
( i
( 1 :15
) ,rand
( 1,15 )) ;
subplot
( 2,2 ,4
) ;
plot
( i
( 1 :10
) ,rand
( 1,10 )) ;
圖形之間的間隔比較大,調(diào)整比較復(fù)雜。在網(wǎng)上搜了一個方法,可以生成比較美觀的組圖, 函數(shù)tight_subplot(Nh, Nw, gap, marg_h, marg_w),控制圖像的邊界(margin)和圖形的間距(gap)。 參考鏈接 https://www.mathworks.com/matlabcentral/fileexchange/27991-tight_subplot-nh-nw-gap-marg_h-marg_w https://blog.csdn.net/irober/article/details/107447574,函數(shù)tight_subplot的具體代碼請參考這個博客,代碼復(fù)制可用。
tight_subplot(Nh, Nw, gap, marg_h, marg_w) Nh,表示是圖排成m行 Nw,表示圖排成n列 gap, 圖形之間的間距 marg_h,圖形到figure的邊界,高度方向 marg_w,圖形到figure的邊界,寬度方向 示例演示tight_subplot函數(shù)調(diào)用,并展示結(jié)果。F0004CH1.csv等4個文件是數(shù)據(jù)文件,你可以選用其他的數(shù)據(jù)文件代替。
close all ;
ha = tight_subplot ( 2 , 2 , [ .08 .08 ] , [ .1 .05 ] , [ .07 .04 ] ) ;
% CH1通道
a1 = xlsread ( 'F0004CH1.csv' ) ;
a1 = a1 ( : , 4 ) ;
axes ( ha ( 1 ) ) ;
plot ( a1 ( 1 : 500 ) , 'k' ) ;
% 調(diào)整坐標軸刻度字號大小
set ( gca , 'fontsize' , 8 ) ; % 'linewidth' , 4 , , 'fontname' , 'Times'
% x軸坐標軸標注
pos = axis ; % 取得當(dāng)前坐標軸的范圍,即 [ xmin xmax ymin ymax ]
xlabel ( '采樣點' , 'position' , [ pos ( 2 ) / 2 1.3 * pos ( 3 ) ] , 'FontSize' , 9 ) ;
ylabel ( '峰值電壓' , 'position' , [ - 0.06 * ( pos ( 2 ) -abs ( pos ( 1 ) ) ) ( pos ( 4 ) -abs ( pos ( 3 ) ) ) / 2 ] , 'FontSize' , 9 ) ;
box off ; % CH2通道
a2 = xlsread ( 'F0004CH2.csv' ) ;
a2 = a2 ( : , 4 ) ;
axes ( ha ( 2 ) ) ;
plot ( a2 ( 1 : 500 ) , 'k' ) ;
pos = axis ; % 取得當(dāng)前坐標軸的范圍,即 [ xmin xmax ymin ymax ]
xlabel ( '采樣點' , 'position' , [ pos ( 2 ) / 2 1.25 * pos ( 3 ) ] , 'FontSize' , 9 ) ;
ylabel ( '峰值電壓' , 'position' , [ - 0.06 * ( pos ( 2 ) -abs ( pos ( 1 ) ) ) ( pos ( 4 ) -abs ( pos ( 3 ) ) ) / 2 ] , 'FontSize' , 9 ) ;
box off ; % CH3通道
a3 = xlsread ( 'F0004CH3.csv' ) ;
a3 = a3 ( : , 4 ) ;
axes ( ha ( 3 ) ) ;
plot ( a3 ( 1 : 500 ) , 'k' ) ;
% x軸坐標軸標注
pos = axis ; % 取得當(dāng)前坐標軸的范圍,即 [ xmin xmax ymin ymax ]
xlabel ( '采樣點' , 'position' , [ pos ( 2 ) / 2 1.25 * pos ( 3 ) ] , 'FontSize' , 9 ) ;
ylabel ( '峰值電壓' , 'position' , [ - 0.06 * ( pos ( 2 ) -abs ( pos ( 1 ) ) ) ( pos ( 4 ) -abs ( pos ( 3 ) ) ) / 2 ] , 'FontSize' , 9 ) ;
box off ; % CH4通道
a4 = xlsread ( 'F0004CH4.csv' ) ;
a4 = a4 ( : , 4 ) ;
axes ( ha ( 4 ) ) ;
plot ( a4 ( 1 : 250 ) , 'k' ) ;
% x軸坐標軸標注
pos = axis ; % 取得當(dāng)前坐標軸的范圍,即 [ xmin xmax ymin ymax ]
xlabel ( '采樣點' , 'position' , [ pos ( 2 ) / 2 1.25 * pos ( 3 ) ] , 'FontSize' , 9 ) ;
ylabel ( '峰值電壓' , 'position' , [ - 0.06 * ( pos ( 2 ) -abs ( pos ( 1 ) ) ) ( pos ( 4 ) -abs ( pos ( 3 ) ) ) / 2 ] , 'FontSize' , 9 ) ;
box off ;
運行結(jié)果 很漂亮。可以直接做論文用圖。
完
總結(jié)
以上是生活随笔 為你收集整理的Matlab操作1: 用tight_subplot函数绘制组图(可直接做论文用图) 的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。
如果覺得生活随笔 網(wǎng)站內(nèi)容還不錯,歡迎將生活随笔 推薦給好友。