Why do tick directions change when log scaling x-axis?
조회 수: 3 (최근 30일)
이전 댓글 표시
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'
![Example](https://www.mathworks.com/matlabcentral/answers/uploaded_files/199295/Example.png)
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.
![](https://www.mathworks.com/matlabcentral/answers/uploaded_files/203021/image.png)
추가 답변 (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.
참고 항목
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!