第二个子图消失

6

我有一个奇怪的(也许很简单就能解决)问题。我试图绘制(使用panel)两个图:

a1 = subplot(2,1,1, 'Parent', handles.cpd_plot, 'Position', [0.1, 0.4, 0.85, 0.45]);
a2 = subplot(2,1,2, 'Parent', handles.cpd_plot, 'Position', [0.1, 0.1, 0.85, 0.15]);

但是在绘制a2之后,a1消失了。我发现这与位置有关,当我稍微抬起a1一点('Position', [0.1, 0.5, 0.85, 0.45])时,它可以工作(但必须是>= 0.5)。问题出在哪里呢? 谢谢!

如果您颠倒子图的顺序,这种情况是否也会发生? - bla
不,如果我先绘制a2然后再绘制a1就没问题了... - Art
2
是的,这就是我想的...所以问题解决了。你还想知道为什么一开始会出现这个问题吗? - bla
当然,发生了什么事? - Art
看到我的回答并且+1表示你注意到了,我不认为这被视为“简单”... - bla
1个回答

6
很可能是因为subplot在与前一个图形重叠时会删除该图形。我怀疑这是由于subplot图块编号(即subplot(2,1,1)等)的默认位置和您输入的位置之间存在冲突导致的。
因此,您可以通过仅使用位置信息来使用subplot来解决此问题,而不是使用subplot(m,l,p, 'position', [ a b c d])
subplot('position',  [0.1, 0.4, 0.85, 0.45])
plot(1:10);
subplot('position', [0.1, 0.1, 0.85, 0.15])
plot(1:10);

enter image description here


网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接