Decimal places in axis
이전 댓글 표시
I have made a plot for my work and the axis display as
0, 0.1, 0.2, 0., etc
I want to be able to start with 0.0 so the number of decimal places is consistent.
채택된 답변
추가 답변 (2개)
Yeah, isn't that annoyingly ugly and klunky??? I first complained to TMW 20-some yr ago and they've not fixed it yet.
Anyway, to patch it you have to fetch the tick values then format and set the tick labels manually 'cuz there's no 'format' property for the tick labels, either. :(
So, diatribes aside...
tix=get(gca,'xtick')';
set(gca,'xticklabel',num2str(tix,'%.1f'))
If you can keep parens straight you can nest the calls to avoid the temporary.
set(gca,'xticklabel',num2str(get(gca,'xtick')','%.1f'))
댓글 수: 3
Jonathan
2013년 11월 11일
Philippe Corner
2018년 8월 3일
Hi dpb, this would show the number of decimals we need but it changes for example from:
6.5 x10^5 to 6.5000 x10^5
How could we change from
6.5 x10^5 to 650000?
Thanks in advance!
dpb
2018년 8월 3일
You'll note that Answer came from 2013 and with the pace of change in Matlab that's like back before The Renaissance.
hAx = gca; % handle to current axes
hAx.YAxis.Exponent=0; % don't use exponent
hAx.YAxis.Format='%d'; % use integer format, no decimal points
LaurenN
2018년 1월 9일
Just an update I came across, you can set the format of ticks using 'ytickformat' or 'xtickformat' in newer versions of Matlab (looks to be since R2016b). For instance, to achieve the format requested for the y axis:
ytickformat('%.1f')
댓글 수: 3
Ameer Hamza
2018년 4월 11일
Great...it works
Walter Roberson
2018년 4월 11일
편집: Walter Roberson
2018년 4월 11일
For R2014b and later you can
ax = gca;
ax.YRuler.TickLabelFormat = '%.1f';
dpb
2018년 4월 11일
Now if they would just fix so out-of-box plot axes aren't so ugly...hmmm; have to see if there is a default property; hadn't thought to look after this update.
카테고리
도움말 센터 및 File Exchange에서 Creating, Deleting, and Querying Graphics Objects에 대해 자세히 알아보기
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!