前段時間使用subplot繪製圖像時候,總感覺默認設置畫出來的好醜,於是自己上網上找了相關資料,編寫了一個可以設置相關參數的函數。
function h = MySubplot(NumX,NumY,LMargin,TMargin,Margin)
%繪製改善的subplot圖
%{
輸入:
NumX:畫框橫向個數
NumY:畫框縱向個數
LMargin:左邊距距離
TMargin:上邊距距離
Margin:圖框邊距
日期:
20190924_ZD
%}
if nargin < 3;LMargin = 0.05;end
if nargin < 4;TMargin = 0.05;end
if nargin < 5;Margin = 0.01;end
%畫框的寬和高
Width = (1-2*LMargin - Margin*(NumX-1))/NumX;
Height = (1-2*TMargin - Margin*(NumY-1))/NumY;
%繪圖
figure
label = 1;
for i = 1:NumY
for j = 1:NumX
h(label) = axes('units','normalized',...
'position',[(LMargin + (j-1)*(Margin+Width)),1-Height-(TMargin + (i-1)*(Margin+Height)),Width,Height]);
label = label + 1;
end
end
其中LMargin爲圖框距離左右邊緣的距離,TMargin爲圖框距離上下邊緣的距離,Margin爲圖框之間的距離。
使用例程如下:
格式:
h = MySubplot(6,6);
for i = 1:36
axes(h(i));
scatter(1:10,randperm(10));
xlabel('X');
ylabel('Y');
box on
end
繪製結果圖如下: