Incorrect logarithmic axes after setting 'defaultAxesNextPlot' to 'add'.
3 Ansichten (letzte 30 Tage)
Ältere Kommentare anzeigen
Chunyu Xiao
am 22 Feb. 2022
Kommentiert: Chunyu Xiao
am 22 Jun. 2022
Hello there,
I want to set default groot properties to simplify plot procedure. However, when I run set(groot,'defaultAxesNextPlot','add') to set 'hold on' as default, the loglog function doesn't work as it was and showed a linear axes instead.
The minimal example can be given:
x = logspace(-3,3,100);
y = (x+1)./(x+.1);
figure % before `set()`, correct
loglog(x,y)
set(groot,'defaultAxesNextPlot','add')
figure % after `set()`, incorrect
loglog(x,y)
set(groot,'defaultAxesNextPlot','remove')
figure % remove settings, correct
loglog(x,y)
You may also notice that after set(groot,'defaultAxesNextPlot','add'), the box is turned off too.
How can I correctly set plot properties to 'hold on' by default? (My MATLAB: R2021b)
Thanks for your advice/help.
0 Kommentare
Akzeptierte Antwort
Nick Van Oosterwyck
am 17 Jun. 2022
When you enable hold on with set(groot,'defaultAxesNextPlot','add'), the figure and axes properties become locked. Thus, because the default scale is linear, your figure will remain linear even when you use the loglog (or semilogx/semilogy) command.
In this post, the Mathworks Support Team recommends to use hold on only after the loglog, semilogx or semilogy command. However, this is not possible when you preset hold on with set(groot,'defaultAxesNextPlot','add').
Therefore, you should manually change the axes scale:
x = logspace(-3,3,100);
y = (x+1)./(x+.1);
set(groot,'defaultAxesNextPlot','add')
figure
loglog(x,y)
set(gca, 'XScale', 'log','YScale', 'log') % set log-scale manually
box on % add box manually
If you don't want to add the box manually for every figure, you can also change the default setting BEFORE creating the figures with:
set(groot,'defaultAxesBox','on');
Regards
Nick
Weitere Antworten (0)
Siehe auch
Kategorien
Mehr zu Graphics Performance 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!