Hi. I have 2924 x 2 matrix. In column 1 is the daily datenum value from 2007-2016. These in are not necessarily continues as some data points have been removed. In column 2 is the data. I want to plot the data and indicate the years on the x-axis. I have tried this but it doens't work.
plot(data(1:2924,2))
datetick('x',11)

 Akzeptierte Antwort

KSSV
KSSV am 12 Mai 2017

0 Stimmen

% make some random data
startDate = datenum('02-01-1962');
endDate = datenum('11-15-2012');
x = datenum(linspace(startDate,endDate,50));
y = rand(1,50) ;
data = [x' y'] ;
figure
plot(data(:,1),data(:,2))
datetick('x','yyyy','keeplimits')

Weitere Antworten (1)

Peter Perkins
Peter Perkins am 12 Mai 2017

0 Stimmen

In MATLAB R2014b or later (and especially in R2016b or later), consider using datetimes, not datenums.
startDate = datetime('01-Feb-1962');
endDate = datetime('15-Nov-2012');
x = linspace(startDate,endDate,50);
y = rand(1,50);
plot(x,y)
This figure automatically updates the ticks as you pan and zoom.

Kategorien

Community Treasure Hunt

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

Start Hunting!

Translated by