Call to Subplot is Adding Axis to Current Figure
3 Ansichten (letzte 30 Tage)
Ältere Kommentare anzeigen
Shawn Treacy
am 5 Apr. 2019
Kommentiert: Shawn Treacy
am 10 Apr. 2019
I'm creating a figure and then later adding a subplot to it. When I get the axis handle from the call to subplot, it is adding an axis to what I think is the current figure.
%pre-allocate graphics objects for holding figures
figs = gobjects(2,1);
%create figures and store in variable figs
for i1 = 1:length(figs)
figs(i1) = figure;
end
%create the upper axis of a 2x1 subplot and get the handle
%this call is also adding an axis to figs(2) for some reason
ax = subplot(2,1,1,'Parent',figs(1))
If I add a call to
set(0,'CurrentFigure',figs(1))
just before
ax = subplot(2,1,1,'Parent',figs(1))
then it won't create an axis on the second figure. Can anyone explain this phenomenon? Is there a better solution than my workaround of having to set the current figure before any of these calls?
4 Kommentare
Akzeptierte Antwort
Adam
am 10 Apr. 2019
Yes, that does seem a slightly odd thing to have in the startup file and is indeed the cause of this behaviour (I just tested with and without it).
I have the first line in my startup file also, but not the second line.
Try replacing that line with the following in your startup instead:
set(groot,'defaultAxesCreateFcn',@(ax,~)set(ax.Toolbar,'Visible','off'))
Weitere Antworten (0)
Siehe auch
Kategorien
Mehr zu Subplots 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!