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

5 views (last 30 days)
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?

Accepted Answer

Walter Roberson
Walter Roberson on 12 Jun 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.

More Answers (0)

Products


Release

R2023b

Community Treasure Hunt

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

Start Hunting!