Suppressing Live Script plotting figure inline
23 Ansichten (letzte 30 Tage)
Ältere Kommentare anzeigen
I am plotting a figure from a Live Script using the
set(gcf, 'Visible', 'on');
option to make it appear in a separate, external window.
However, a copy of the figure still appears inline the Live Script which I would like to avoid. The figure should only appear externally (i.e. in a separate window, which it already does), and not get created inline too.
I have tried the following, none of which worked:
- Plotting the figure inside a separate .m function (being called from the Live Script)
- Creating the figure with visibility 'off'
- Forcing 'normal' window style when creating the figure, i.e. f = figure('WindowStyle','normal')
- Creating and plotting into a uifigure (copy still shows up inline)
- Saving the figure with its visibility turned 'off' and opening it again in a different instance of another Live Script. Upon opening, both the external and the inline figures are created.
EDIT: Example Live Script attached for reference.
2 Kommentare
Weitere Antworten (1)
Matt J
am 5 Sep. 2025
Bearbeitet: Matt J
am 5 Sep. 2025
I don't think it's possible. However, you could shrink down the side bar area of the livescript where the figures are displayed, so that they aren't so visible,

4 Kommentare
Umar
am 6 Sep. 2025
Bearbeitet: Umar
am 6 Sep. 2025
Hi @Mate,
You mentioned:
"Would you be able to provide a short example of the 'wrap plotting in a function without returning any outputs'? I tried something resembling this, yet the inline figure was still created. Perhaps I missed something then."
Wrapping plotting in a function without returning outputs reduces workspace clutter but does not prevent the Live Script from capturing the figure inline—this is by design.
Minimal example:
function externalPlot(x,y) if nargin==1, y=x; x=1:numel(y); end h = findobj('Type','figure','Name','External Figure'); if isempty(h) || ~isvalid(h) h = figure('Name','External Figure','NumberTitle','off','WindowStyle','normal','Visible','on'); else figure(h); clf(h); end plot(h,x,y,'.-'); grid(h,'on'); xlabel('X [s]'); ylabel('Y [y]'); title('Random plot'); end
Call from the Live Script:
externalPlot(1:10, rand(1,10));
Caveat: inline figures will still appear.
Siehe auch
Kategorien
Mehr zu Function Creation finden Sie in Help Center und File Exchange
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!