Hi, I have tried different solutions online but nothing works. I have a row vector of dimension (1x19) where each value is for years 1995 to 2013. With below script, I get ticks for every other year, but I want it for each year. How can I do this?
y_data=rand(1,19);
x = linspace(1995,2013,19);
plot(x,y_data)
xticks(1995:1:2013);
xticklabels({'1995' '1996' '1997' '1998' '1999' '2000' '2001' '2002' '2003' '2004' '2005' '2006' '2007' '2008' '2009' '2010' '2011' '2012' '2013'})
xlim([1995 2013]);

 Réponse acceptée

Adam Danz
Adam Danz le 14 Mai 2019
Modifié(e) : Adam Danz le 14 Mai 2019

0 votes

Your code should already by providing annual ticks. Nevertheless, here are some improvements.
y_data=rand(1,19);
x = 1995:1:2013;
plot(x,y_data)
xticks(x);
% xticklabels({'1995' '1996' '1997' '1998' '1999' '2000' '2001' '2002' '2003' '2004' '2005' '2006' '2007' '2008' '2009' '2010' '2011' '2012' '2013'})
% Remove the line above!
xlim(x([1,end]));
Alternatively, you could use a datetime axis by replacing 1 line above.
% Replace this
x = 1995:1:2013;
% with this
x = years(1995:1:2013);

1 commentaire

Orongo
Orongo le 14 Mai 2019
Modifié(e) : Orongo le 14 Mai 2019
Works brilliant! Thanks!

Connectez-vous pour commenter.

Plus de réponses (0)

Catégories

En savoir plus sur Line Plots dans Centre d'aide et File Exchange

Community Treasure Hunt

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

Start Hunting!

Translated by