Effacer les filtres
Effacer les filtres

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

228 vues (au cours des 30 derniers jours)
AStar
AStar le 15 Nov 2019
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 commentaires
AStar
AStar le 15 Nov 2019
Modifié(e) : AStar le 15 Nov 2019
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.
IT Infrastructure Team
IT Infrastructure Team le 19 Déc 2022
XTick not XTicks works in my case

Connectez-vous pour commenter.

Réponses (2)

Walter Roberson
Walter Roberson le 15 Nov 2019
ax = gca;
ax.Xticks = unique( round(ax.XTicks) );
  2 commentaires
AStar
AStar le 15 Nov 2019
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 le 12 Mar 2020
Modifié(e) : Walter Roberson le 12 Mar 2020
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) );

Connectez-vous pour commenter.


SHC
SHC le 12 Mar 2020
curtick = get(gca, 'xTick');
xticks(unique(round(curtick)));
  2 commentaires
Walter Roberson
Walter Roberson le 12 Mar 2020
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 le 3 Avr 2022
ax.YAxis(2).TickLabels= unique( round(ax.YAxis(2).TickValues) )

Connectez-vous pour commenter.

Tags

Community Treasure Hunt

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

Start Hunting!

Translated by