【发布时间】:2010-12-17 05:03:30
【问题描述】:
如何在 MATLAB 中将一个绘图放置在另一个绘图的角落(或任何地方)?
我的对数数据在图的右上角有很大的空白。在空白区域中,我想覆盖一个较小的图,其中包含该空白区域中日志图的放大版本(有点像放大视图)。
在您告诉我它无法完成之前,我想提一下我已经看到它在行动中。如果缺少我的描述,请告诉我,我会尽力向您更好地描述。
【问题讨论】:
标签: matlab plot overlay figure
如何在 MATLAB 中将一个绘图放置在另一个绘图的角落(或任何地方)?
我的对数数据在图的右上角有很大的空白。在空白区域中,我想覆盖一个较小的图,其中包含该空白区域中日志图的放大版本(有点像放大视图)。
在您告诉我它无法完成之前,我想提一下我已经看到它在行动中。如果缺少我的描述,请告诉我,我会尽力向您更好地描述。
【问题讨论】:
标签: matlab plot overlay figure
一个例子:
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')
您可以使用axes 属性'position' 和'units' 并过度使用它们。注意在大轴之后创建小轴或使用uistack()函数,使大不隐藏小轴。
你不能做的是让另一个轴子成为另一个轴(就像 Mathworks 对 legend 所做的那样)。但无论如何你都不需要它。
对于第二个情节,您必须使用 axes 和 line 而不是 plot 和 hold on。
单位为'normalized'(这是默认值)允许在调整父图形大小(例如手动最大化)时统一调整大小的外观。
【讨论】: