Displaying an externally saved figure in live script

Hello,
I'm trying to display an externally generated figure in live script, using the openfig() function. When I do this, the figure does not display; all that displays is some output text listing some properties of the figure. Is there a way to display externally generated figures, .fig or otherwise, in live script?
Thanks,
Abed

Answers (1)

Hi Abed,
Currently openfig is not fully supported in the Live Editor. As a workaround you can do the following:
f = openfig('f.fig');
f2 = figure;
set(f.Children,'Parent',f2)
This should dispaly the contents of the saved figure in the Live Editor.
Thanks,
Alex

3 Comments

Thanks! This was very helpful.
This worked, though I had this error for the legend:
Error using matlab.graphics.illustration.Legend/setParentImpl
A legend and its associated axes must have the same parent.
Hi all,
Thanks for sharing.
After a lot of grey hairs with Matlab R2018b a small adaption is needed to the code:
f = openfig('f.fig');
f2 = figure;
set(f.Children(2),'Parent',f2)
Adding the index 2 solves in some cases the error (axes is the 2nd element in an array)
"Error using matlab.graphics.illustration.Legend/setParentImpl
A legend and its associated axes must have the same parent"
I can also confirm that this error does not appear with Matlab R2021b
Cheers,
Lucian

Sign in to comment.

Categories

Find more on 2-D and 3-D Plots in Help Center and File Exchange

Asked:

on 21 Jun 2019

Edited:

on 24 May 2023

Community Treasure Hunt

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

Start Hunting!