我編寫並使用了一個matlab程序,其中通常使用子圖命令生成大量圖形。 [這些數字代表單分子實驗中的分子軌跡,它們的總數並不是預先知道的,但通常達到幾百個。]迄今爲止它工作得非常順利,我得到以下錯誤信息:matlab中特定圖形 - 副圖連接處的令人費解的行爲
錯誤使用子圖(第159行) 需要有效的軸處理輸入。
一些手工調試,我想我已經分離的問題,因爲從下面的順序來後:
figure(i)
...
subplot(i)
在那裏我可以是任何整數。最容易重現的例子是:
i=211;
...
x=linspace(0,1,101);
figure(i)
subplot(211)
plot(x,x)
subplot(212)
plot(x,x)
在上述情況下,通過設置i = 212可以引發相同的問題。顯然,我可能髒迅速用一些
if i=212 || 211
j=something-different-from-212-or-211;
else
j=i;
end
figure(j)
...
解決這個問題,但我也希望知道更多的東西便於/得心應手/優雅的存在 - 也,我會好奇地想知道更多,如果可能的話,大約這個問題的原因!
謝謝!
您是用多軸(子圖)還是多軸圖創建多個圖形? – Erik
我正在用多個軸創建多個圖形。 通常,我有一個循環運行在上面的索引i上,對於每個我打開一個包含通常2,3或4個子圖(取決於)的圖。 (我不想關閉先前生成的數字) –
您確定您應該同時使用'figure(i)'和'subplot(i)',並使用相同的索引變量'i'嗎?在所有這些數字中,您可能沒有相同數量的數字和軸數。如果你有'N'圖形,那麼用'figure(n)'來改變/創建數字,如果圖中有'M'軸,則使用'n = 1:N',然後對這些圖形使用不同的子圖索引變量'M'軸(取決於子圖佈局:子圖軸的列數和行數)。 – Erik