Why do tick directions change when log scaling x-axis?
2 ビュー (過去 30 日間)
古いコメントを表示
Dave Ortiz-Suslow
2018 年 12 月 18 日
コメント済み: Dave Ortiz-Suslow
2019 年 2 月 7 日
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.
採用された回答
Shawn Duenas
2019 年 2 月 6 日
編集済み: Shawn Duenas
2019 年 2 月 6 日
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.

その他の回答 (2 件)
Cris LaPierre
2018 年 12 月 18 日
I wonder if it is related to this question. There, it was a bug potentially related to having an exponent in the axis.
4 件のコメント
Cris LaPierre
2018 年 12 月 18 日
編集済み: Cris LaPierre
2018 年 12 月 18 日
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.
参考
カテゴリ
Help Center および File Exchange で Annotations についてさらに検索
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!