How to close a figure made in one function, from a different function

2 ビュー (過去 30 日間)
Bradley
Bradley 2024 年 3 月 28 日
編集済み: Matt J 2024 年 3 月 31 日
Im making a program that graphs data and several buttons. One button plots graph A and another button plots graph B. When I click the button that graphs plot B I want plot A to close and plot B to open, I added close(ax) to function B but I get an error that the variable ax doesnt exist. How do I define ax in function B so that I can close Plot A before plot B pops up? Thanks!

採用された回答

Matt J
Matt J 2024 年 3 月 28 日
編集済み: Matt J 2024 年 3 月 28 日
How do I define ax in function B so that I can close Plot A
You don't. You create ax in function A (it is obtained from the plotting command that creates the graph), save it somewhere, and pass it to function B when it is needed there.
If this were being done in appdesigner, it would be a routine matter to save ax to a property of the app object, which gets passed around automatically to all the button callbacks in the app.
  2 件のコメント
Bradley
Bradley 2024 年 3 月 31 日
Im creating a ui progammatically, and ive been trying to figure out a way to pass this plot from one function to another, would you happen to have an example I could look at? Thanks!
Matt J
Matt J 2024 年 3 月 31 日
編集済み: Matt J 2024 年 3 月 31 日
Hf=createPlot(1:5,rand(1,5));
closePlot(Hf);
function fig=createPlot(x,y)
fig=ancestor(plot(x,y),'figure');
end
function closePlot(fig)
close(fig)
end

サインインしてコメントする。

その他の回答 (0 件)

カテゴリ

Help Center および File ExchangeCreating, Deleting, and Querying Graphics Objects についてさらに検索

タグ

製品


リリース

R2023b

Community Treasure Hunt

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

Start Hunting!

Translated by