Why do tick directions change when log scaling x-axis?
Afficher commentaires plus anciens
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.
1 commentaire
Dave Ortiz-Suslow
le 18 Déc 2018
Réponse acceptée
Plus de réponses (2)
Cris LaPierre
le 18 Déc 2018
0 votes
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
Walter Roberson
le 18 Déc 2018
If it was... I wonder if setting the Exponent or ExponentMode properties could help? (I note from what you linked to that HG2 is involved.)
Dave Ortiz-Suslow
le 18 Déc 2018
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.
Dave Ortiz-Suslow
le 18 Déc 2018
Modifié(e) : Dave Ortiz-Suslow
le 18 Déc 2018
Dave Ortiz-Suslow
le 18 Déc 2018
Modifié(e) : Dave Ortiz-Suslow
le 18 Déc 2018
Catégories
En savoir plus sur MATLAB dans Centre d'aide et File Exchange
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!

