필터 지우기
필터 지우기

Displaying an externally saved figure in live script

조회 수: 17 (최근 30일)
Abed Alnaif
Abed Alnaif 2019년 6월 21일
편집: Lucian 2023년 5월 24일
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

답변 (1개)

Alex Zak
Alex Zak 2020년 3월 11일
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
pablo Jaramillo
pablo Jaramillo 2020년 11월 4일
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.
Lucian
Lucian 2023년 5월 24일
편집: Lucian 2023년 5월 24일
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

댓글을 달려면 로그인하십시오.

카테고리

Help CenterFile Exchange에서 Interactive Control and Callbacks에 대해 자세히 알아보기

Community Treasure Hunt

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

Start Hunting!

Translated by