Effacer les filtres
Effacer les filtres

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

2 vues (au cours des 30 derniers jours)
Bradley
Bradley le 28 Mar 2024
Modifié(e) : Matt J le 31 Mar 2024
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!

Réponse acceptée

Matt J
Matt J le 28 Mar 2024
Modifié(e) : Matt J le 28 Mar 2024
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 commentaires
Bradley
Bradley le 31 Mar 2024
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 le 31 Mar 2024
Modifié(e) : Matt J le 31 Mar 2024
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

Connectez-vous pour commenter.

Plus de réponses (0)

Catégories

En savoir plus sur Develop uifigure-Based Apps dans Help Center et File Exchange

Tags

Produits


Version

R2023b

Community Treasure Hunt

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

Start Hunting!

Translated by