使用subplot繪製更好看的圖

前段時間使用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

繪製結果圖如下:

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章