Clear Filters
Clear Filters

How to increase xticks to axis

2 views (last 30 days)
Orongo
Orongo on 14 May 2019
Edited: Orongo on 14 May 2019
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]);

Accepted Answer

Adam Danz
Adam Danz on 14 May 2019
Edited: Adam Danz on 14 May 2019
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 Comment
Orongo
Orongo on 14 May 2019
Edited: Orongo on 14 May 2019
Works brilliant! Thanks!

Sign in to comment.

More Answers (0)

Community Treasure Hunt

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

Start Hunting!