6

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

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

4

1 回答 1

6

所以它可能正在发生,因为子图在与前一个图重叠时删除了一个图。我怀疑这是因为具有自己的默认位置的子图图块编号(即 subplot(2,1,1) 等)与您输入的位置之间的位置值冲突。

因此subplot(m,l,p, 'position', [ a b c d]),您可以不使用 ,而仅使用位置信息来解决此问题,subplot如下所示:

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);

在此处输入图像描述

于 2013-01-11T07:50:05.547 回答