How to change the x axis labels of a plot so that they only show integer values

조회 수: 177 (최근 30일)
Id like to make the x axis labels so that it just shows 1,2,3,4,5,6. But id like to make sure this is general so in my code if the user were to input 10 years lets say, the x axis labels would be 1,2,3,4,5,6,7,8,9,10.
Thanks!
  댓글 수: 3
AStar
AStar 2019년 11월 15일
편집: AStar 2019년 11월 15일
the x values are a vector. Im not sure what you mean by duration, double and datetick. I am a beginner to a matlab, so I dont know what terminology youre referring to.

댓글을 달려면 로그인하십시오.

답변 (2개)

Walter Roberson
Walter Roberson 2019년 11월 15일
ax = gca;
ax.Xticks = unique( round(ax.XTicks) );
  댓글 수: 2
AStar
AStar 2019년 11월 15일
Hi, thanks for your response, however, it doesnt seem to work. What is ax? Is that the name of the x vector?Matlab also says that it doesnt recognize XTicks.
Walter Roberson
Walter Roberson 2020년 3월 12일
편집: Walter Roberson 2020년 3월 12일
ax is a variable assigned the result of gca . gca is a function that returns a handle to the current axes. So ax will be assigned a handle to the current axes.
ax = gca;
ax.XTick = unique( round(ax.XTick) );

댓글을 달려면 로그인하십시오.


SHC
SHC 2020년 3월 12일
curtick = get(gca, 'xTick');
xticks(unique(round(curtick)));
  댓글 수: 2
Walter Roberson
Walter Roberson 2020년 3월 12일
Note: this requires R2016b or later. For earlier releases, especially before R2015b, it would look like,
curtick = get(gca, 'XTick');
set(gca, 'XTick', unique(round(curtick)))
Housam
Housam 2022년 4월 3일
ax.YAxis(2).TickLabels= unique( round(ax.YAxis(2).TickValues) )

댓글을 달려면 로그인하십시오.

카테고리

Help CenterFile Exchange에서 Grid Lines, Tick Values, and Labels에 대해 자세히 알아보기

태그

Community Treasure Hunt

Find the treasures in MATLAB Central and discover how the community can help you!

Start Hunting!

Translated by