Cannot set the tick mark direction as default

I recently switched to 2014b MATLAB, and I can no longer set the axes tick mark direction as default. That is, I used to be able to set the tick mark direction 'outward' by
set(0,'defaultAxesTickDir','out');
However, this command does not work any more. When I plot a new figure, the tick mark direction always becomes inward. I can still correct the direction by
set(gca,'TickDir','out');
each time I plot a figure, but this is very inconvenient. Does anybody knows how to work around this problem?

 Akzeptierte Antwort

Doug Hull
Doug Hull am 18 Nov. 2014

1 Stimme

From our development staff:
set(groot, 'defaultAxesTickDir', 'out');
set(groot, 'defaultAxesTickDirMode', 'manual');
plot(1:10)
It is important that you set these two defaults in this order to be effective.

3 Kommentare

Shin
Shin am 18 Nov. 2014
Thank you for providing the solution.
I would also like to remove the box around the plot, but the following command does not work:
set(groot,'defaultAxesBox','off')
I would appreciate if you could also show me how to turn off the box by default. Do I have to set another default property to reflect the change?
Star Strider
Star Strider am 19 Nov. 2014
As I read the documentation, setting any property to something other than the default automatically sets the associated ‘Mode’ setting to 'manual'. When did that change? Can TMW change it back so it does?

Melden Sie sich an, um zu kommentieren.

Weitere Antworten (2)

Adam
Adam am 17 Nov. 2014
Bearbeitet: Adam am 17 Nov. 2014

0 Stimmen

Try
set( groot, 'defaultAxesTickDir', 'out' )
instead. Since graphics objects are now all actual objects rather than magic doubles the '0' handle no longer exists so groot is now the graphics root.
Shin
Shin am 17 Nov. 2014
Bearbeitet: Shin am 17 Nov. 2014

0 Stimmen

Thanks for the advice. Unfortunately, using 'groot' does not solve the problem in MATLAB 2014b. For example, please try:
set( groot, 'defaultAxesTickDir', 'out' )
figure;plot(1:5,1:5)
MATLAB still plots tick marks inward.

4 Kommentare

Star Strider
Star Strider am 17 Nov. 2014
That doesn’t seem to be an accessible ‘root’ property in R2014b. Setting it for each figure is your only option.
Adam
Adam am 17 Nov. 2014
Bearbeitet: Adam am 17 Nov. 2014
That looks like a bug because if I do:
set( groot, 'defaultAxesTickDir', 'out' )
get( groot, 'defaultAxesTickDir' )
ans =
out
it clearly shows it has set the property, but it is not picking it up in the subsequent plot instruction.
set( groot, 'defaultFigurePosition', [400 400 200 200] )
for example does do exactly what you would expect.
Star Strider
Star Strider am 17 Nov. 2014
Agreed. You can set it but it doesn’t do anything. It’s not listed in the groot properties. Another reason to not uninstall R2014a.
Shin
Shin am 17 Nov. 2014
Thanks for checking out the problem. I guess we will have to set the axes property each time we plot a figure until the bug gets fixed...

Melden Sie sich an, um zu kommentieren.

Kategorien

Mehr zu Creating, Deleting, and Querying Graphics Objects finden Sie in Hilfe-Center und File Exchange

Produkte

Tags

Gefragt:

am 17 Nov. 2014

Kommentiert:

am 19 Nov. 2014

Community Treasure Hunt

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

Start Hunting!

Translated by