【问题标题】:Second subplot disappearing第二个子图消失
【发布时间】:2012-12-25 17:58:34
【问题描述】:

我有一个奇怪的(而且可能很容易解决)问题。我试图绘制(使用面板)两个图:

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)。问题出在哪里? 谢谢!

【问题讨论】:

  • 如果你颠倒子图的顺序也会发生吗?
  • 不,如果我先绘制 a2 然后绘制 a1 就可以了...
  • 是的,我就是这么想的……所以问题解决了。你还想知道它为什么会发生吗?
  • 确定,发生了什么?
  • 在下面查看我的答案,并为发现这一点 +1,我认为这不被认为是“简单”...

标签: matlab user-interface plot figure subplot


【解决方案1】:

所以它可能正在发生,因为子图在与前一个图重叠时删除了一个图。我怀疑这是因为具有自己的默认位置的子图图块编号(即 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);

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2022-01-16
    • 2012-08-01
    • 1970-01-01
    • 2023-04-09
    • 1970-01-01
    • 2021-04-03
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多