2015-05-13 133 views
1

我試圖在一個圖中繪製幾個subplots。 子圖的總數取決於矩陣中的最大值:「i」的最大值。 我想繪製在下面兩個彼此副區兩個變量對於i的每個值:slagtijd_start & slagfrequentie_startMATLAB:繪製循環中的subplots

因此,當i的最大值= 3,我們有2×3軸的副區矩陣, 若i = 4 - > 2x4座標軸等。

在右邊的位置繪製工程,除了matlab擦除之前的子圖(之前的i值)。在這種情況下,i = 3,圖中只顯示兩個最新的子圖。我試過不同的東西,'堅持'等,但我無法弄清楚。這可能是一個簡單的伎倆。

我已爲我的代碼及以下得出的數字,

由於提前,

Mochje

figure(6) 
hold on 

for i = 1:max(piektijden_start(:,2)) 
    startnummer = find(piektijden_start(:,2) == i); 
    slagtijd_start= diff(piektijden_start(startnummer)); 
    slagfrequentie_start= (60./slagtijd_start); 
    subplot(2,i,i),plot(piektijden_start(startnummer(1:end-1),1),slagtijd_start) 
    hold on 
    xlabel('Tijd [s]') 
    ylabel('Slagtijd [s]') 
    title('Slagtijd') 

    subplot(2,i,i+i),plot(piektijden_start(startnummer(1:end-1),1),slagfrequentie_start) 
    hold on 
    plot(piektijden_start(startnummer(1:end-1),1),slagfrequentie_start,'.r') 
    xlabel('Tijd [s]') 
    ylabel('Slagfrequentie [N/min]') 
    title('Slagfrequentie') 
end 

enter image description here

回答

2

使用類似

figure(6) 
hold on 
max_i = max(piektijden_start(:,2)); 
for i = 1:max_i 
    %// ... 
    subplot(2, max_i, i) 
    %// ... 
    subplot(2, max_i, i+max_i) 
    %// ... 
end 

subplot的第二個參數是子區域列的數量。第三個是被處理的子圖,使得第一個子圖是第一行的第一個列,第二個子圖是第一個行的第二個列,等等

+0

感謝您的快速回答Luis Mendo,Works好! – Mochje