15

您如何在 MATLAB 中将一个图放置在另一个图的角落(或任何地方)?

我有对数数据,在图的右上角有一个很大的空白。在空白区域中,我想覆盖一个较小的图,其中包含该空白区域中日志图的放大版本(有点像放大视图)。

在你告诉我它不能完成之前,我想提一下我已经看到它在行动。如果缺少我的描述,请告诉我,我会尝试更好地向您描述。

4

2 回答 2

19

一个例子:

x = 1:20;
y = randn(size(x));

plot(x, y,'LineWidth',2)
xlabel('x'), ylabel('y'), title('Plot Title')

h = axes('Position', [.15 .65 .2 .2], 'Layer','top');
bar(x,y), title('Bar Title')
axis(h, 'off', 'tight')

截屏

于 2009-11-16T21:55:28.597 回答
8

您可以使用axes属性'position''units'过度使用它们。注意在大轴之后创建小轴或使用uistack()功能使大不隐藏小轴。

你不能做的是让另一个轴的子节点(就像 Mathworks 所做的那样legend)。但无论如何你都不需要它。

对于第二个情节,您必须使用axesandline而不是plotand hold on

'normalized'当父图形被调整大小(例如手动最大化)时,单位为(这是默认值)允许统一调整大小的外观。

于 2009-11-16T20:40:12.560 回答