我编写并使用了一个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