Live Script calls multiple functions that produce a plot, but only the last one shows up.

5 vues (au cours des 30 derniers jours)
It looks something like this:
function LiveScript
plot1
plot2
end
function plot1
x = 0:pi/100:2*pi;
y = cos(x);
plot(x,y)
end
function plot2
x = 0:pi/100:2*pi;
y = sin(x);
plot(x,y)
end
LiveScript()
How do I get it to show all plots?
  1 commentaire
Nando
Nando le 12 Juin 2025
I'd be okay if they were different tabs in one window instead of in the Live Script Output, if that helps

Connectez-vous pour commenter.

Réponse acceptée

Walter Roberson
Walter Roberson le 12 Juin 2025
Graphics calls that are made directly from LiveScript output in-line, and each time a plot would be erased it instead starts a new plot leaving the old one visible.
Graphics calls that are made from .m files follow the older rules that commands that would cause a plot to be erased... just erase the previous plot ready to draw over it.
You will need to use one of:
  • figure() (not sure about uifigure())
  • subplot()
  • tiledlayout() / nexttile()
Or you could have plot1() and plot2() return the data and plot the results within the LiveScript.

Plus de réponses (0)

Produits


Version

R2023b

Community Treasure Hunt

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

Start Hunting!

Translated by