我有一個很大的循環,產生了很多圖。我在代碼中添加了功能,並希望可以選擇將一系列圖形與子圖一起放入一個圖形中,還是將圖形繪製爲單個圖形。我試圖用下面的代碼來做到這一點,但它不起作用。Plot和Subplot
figure
if (SubplotOPT == 0)
subplot(2,2,1);
end
的想法是,如果SubplotOPT == 0不滿足,則該代碼將產生一個單獨的數字,但是,我認爲,MATLAB是做一個插曲,無論if語句的。
我有一個很大的循環,產生了很多圖。我在代碼中添加了功能,並希望可以選擇將一系列圖形與子圖一起放入一個圖形中,還是將圖形繪製爲單個圖形。我試圖用下面的代碼來做到這一點,但它不起作用。Plot和Subplot
figure
if (SubplotOPT == 0)
subplot(2,2,1);
end
的想法是,如果SubplotOPT == 0不滿足,則該代碼將產生一個單獨的數字,但是,我認爲,MATLAB是做一個插曲,無論if語句的。
試試這個:
for i=1:3
figure(i)
if i==3
subplot(2,1,1)
plot(rand(1,100))
else
plot(rand(1,100))
end
end
這裏的常客圖進行循環,只有符合特定的條件創建一個插曲人物創建。
if (SubplotOPT == 0)
subplot(2,2,1);
else
subplot(1,1,1);
end
不需要在該代碼中寫入「子圖(1,1,1)」。一個簡單的'劇情'應該做...除非你重寫同一個數字並且不清除它... – 2013-02-26 23:30:23
我很不滿意或者前兩個解決方案,所以這裏是我走在它:
% Should we add a subplot, or create a new figure & axes
if (SubplotOpt == 0)
ax = subplot(2,1,1);
else
f = figure;
ax = axes();
end
plot(0:.01:2*pi, sin(0:.01:2*pi), 'Parent', ax);
基本上我已經從繪圖代碼抽象出來的插曲/圖碼,它使閱讀和編輯變得更加容易。
但不行,你能詳細說明一下嗎?會發生什麼呢?這聽起來像是當你不期待它看到一個「subplotted」的數字時。另外,你可以在代碼前後給出更多的背景嗎? – macduff 2013-02-26 23:23:13
我在一分鐘前就明白了。上面的代碼產生了獨立於循環的位置的子圖。如果(SubplotOPT == 0) subplot(2,2,1);如果(SubplotOPT == 0) 否則子圖(1,1,1)結束 – 2013-02-26 23:25:05