How to force Matlab to only plot some selected strings on the x-axis?

1 view (last 30 days)
I have data linked to specific dates. Let's say e.g.
dates=731948:735938; n=length(dates);
which I can convert to a string of "real dates" by
dates=datestr(dates,0));
starting from 01/02/04 up to 12/5/14. Now I want to use this string as the x-axis of a plot.
plot(rand(n,1));
set(gca, 'XTick', 1:n, 'XTickLabel', dates);
The problem I have now is that there are way to many dates on the x-axis. On the resulting plot you hardly can see anything. So my question is how can I select only lets say every 100th date to be plotted on the x-axis?
Thanks already for your help.

Answers (2)

Julian Hapke
Julian Hapke on 6 Jan 2015
set(gca, 'XTick', 1:100:n, 'XTickLabel', dates(1:100:n,:));

Star Strider
Star Strider on 6 Jan 2015
Consider the datetick function.

Community Treasure Hunt

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

Start Hunting!