在 MATLAB 中的图内绘图

smy*_*lov 1 matlab matlab-figure

我正在尝试在 MATLAB 的图中创建一个较小的图,例如像此 MATLAB File Exchange Upload的图像。在那里,创建两个图形,然后将它们绘制在一张图形中。

然而,我的问题是,我已经从早期的模拟中获得了两个 MATLAB 图形,并且我需要将一个图形嵌入到另一个图形中,即,一个图形较小,另一个图形较大,但位于同一张图中。有人可以建议一种简单的方法来做到这一点吗?

hba*_*rts 5

这可以使用该函数来完成copyobj。您需要将 Axes 对象从一个图形复制到另一个图形:

f(1) = openfig('fig1.fig');
f(2) = openfig('fig2.fig');

ax(1) = get(f(1),'CurrentAxes');                % Save first axes handle
ax(2) = copyobj(get(f(2),'CurrentAxes'),f(1));  % Copy axes and save handle
Run Code Online (Sandbox Code Playgroud)

然后您可以根据需要移动两个轴并调整其大小,例如

set(ax(2),'Position', [0.6, 0.6, 0.2, 0.2]);
Run Code Online (Sandbox Code Playgroud)