block plotting a figure
10 visualizaciones (últimos 30 días)
Mostrar comentarios más antiguos
Alberto Acri
el 28 de Dic. de 2022
Respondida: Image Analyst
el 28 de Dic. de 2022
Hi! I have a function A that calls other functions B, C, etc. Each function generates several plots, but in the end function A only plots one figure.
How can I not display the figure that function A generates without commenting on all the plots in the functions?
0 comentarios
Respuesta aceptada
Image Analyst
el 28 de Dic. de 2022
You say "Hi! I have a function A that calls other functions B, C, etc. Each function generates several plots, but in the end function A only plots one figure.
How can I not display the figure that function A generates without commenting on all the plots in the functions?"
So A calls B and C, which both produce plots that you want to keep, and then after those calls A produces it's own plot that you do not want to display. So simply comment out the line in function A only that creates the figure. Or else set a flag, like
plotIt = false;
if plotIt
hfigA = figure('Name', 'Created by A'); % Create new figure in A and save its handle.
plot(xA, yA, 'b-'); % Plot something.
end
That would allow the B and C figures, which you want, to stay there.
Conversely, if you want everything except the A figure to be gone, then close them. If you know their handles you can do
close(hFigB);
close(hFigC);
If you don't, you can put this right before you plot the A plots
close all;
Then the plots from B and C won't be there and you can then decide whether to plot A's plot or not as I showed above.
0 comentarios
Más respuestas (1)
Adam Danz
el 28 de Dic. de 2022
This is a common problem which often arises from functions that produce sanity-check visualizations or other windows to underlying data along the analysis pipeline. It's a good practice and the plotting code should be kept around for future referencing.
To optionally prevent figures from being produced, you can set a logical flag that can be set to true/false at the top of your script or function that determines whether the figures will be produced.
Here are two answers to similar questions that explain the flag solution and other ideas:
0 comentarios
Ver también
Categorías
Más información sobre Annotations en Help Center y File Exchange.
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!