Why do tick directions change when log scaling x-axis?
5 vues (au cours des 30 derniers jours)
Afficher commentaires plus anciens
Dave Ortiz-Suslow
le 18 Déc 2018
Commenté : Dave Ortiz-Suslow
le 7 Fév 2019
I just updated to Matlab 2018b (9.5.0.94444444) and I have come across a weird glitch when changing a plot axis scaling to logarithmic, from linear. I haven't come across this problem before in previous versions, but I haven't found a solution to this maddeningly simple problem. Here's an example that highlights the issue I see:
figure(1)
ha1 = subplot(2,1,1);
plot(1:10,linspace(1,100,10))
ha1.XDir = 'reverse';
title(ha1,'Linear axis scaling: no problem')
ha2 = subplot(2,1,2);
plot(1:10,linspace(1,100,10))
ha2.XDir = 'reverse';
ha2.XScale = 'log';
title(ha2,'X-axis log-scaled: tick direction problem')
Now with ha2, the x- and y-axes behave contrastly when setting:
ha2.TickDir = 'in';% or 'out'

Changing TickDirMode to "manual" or "auto" has no affect.
Any help is appreciated. Thanks.
Réponse acceptée
Shawn Duenas
le 6 Fév 2019
Modifié(e) : Shawn Duenas
le 6 Fév 2019
Try this:
ha1.XDir = 'normal';
set(ha1,'view',[-180,-90])
I get that same issue:
Changing ytick direction is backwards. Check out the effect of this:
yax=get(gca,'yaxis');
set(yax,'tickdirection','in')
set(yax,'tickdirection','out')
I think it's because the plotting algorithm when xdir is reversed is stupid.

Plus de réponses (2)
Cris LaPierre
le 18 Déc 2018
I wonder if it is related to this question. There, it was a bug potentially related to having an exponent in the axis.
4 commentaires
Cris LaPierre
le 18 Déc 2018
Modifié(e) : Cris LaPierre
le 18 Déc 2018
But the root cause is the same - reversing the direction of one of the axes. Don't do that, and your labels will appear normal.
Agreed - it shouldn't be there. But that's the nature of bugs. They are not there intentionally.
FWIW, I checked this in the 2019a prerelease software (might be able to see it here if you have access). This bug has been fixed.
Voir également
Catégories
En savoir plus sur Annotations dans Help Center et File Exchange
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!
