Displaying an externally saved figure in live script
22 ビュー (過去 30 日間)
古いコメントを表示
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
0 件のコメント
回答 (1 件)
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
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
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 Center および File Exchange で Interactive Control and Callbacks についてさらに検索
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!