Creating an inset figure from an other fig file

38 views (last 30 days)
Hello everyone,
I am trying to create an inset in a figure based on a different figure.
Basically, I have a plot that generates a figure and then I add :
handaxes2 = axes('position', [0.52 0.52 0.38 0.38]);
To create my inset figure and then I plot my data. But I don't know how I can do it with an other .fig file instead of a set of data ?
I have attached my fig files if needed,
Thank you for your help,
Best regards.

Accepted Answer

Voss
Voss on 12 Mar 2024
% open the first figure
fig1 = openfig('figure1.fig','visible');
% create the new axes
ax2 = axes(fig1,'Units','normalized','position',[0.52 0.52 0.38 0.38]);
% open the second figure
fig2 = openfig('figure2.fig','invisible');
% copy the stuff from the second figure's axes into the new axes
ch = findall(fig2.CurrentAxes);
ch(ch == fig2.CurrentAxes) = [];
copyobj(ch,ax2)
% delete the second figure
delete(fig2)
  2 Comments
Wissem-Eddine KHATLA
Wissem-Eddine KHATLA on 13 Mar 2024
Thank you @Voss : your help was appreciated. Indeed, I was looking for this particular function to copy a whole figure dataset.
Voss
Voss on 13 Mar 2024
You're welcome! Any other questions, please let me know.

Sign in to comment.

More Answers (0)

Categories

Find more on Graphics Objects in Help Center and File Exchange

Community Treasure Hunt

Find the treasures in MATLAB Central and discover how the community can help you!

Start Hunting!