plotting all the years of a time period vertically to the x-axis
1 Ansicht (letzte 30 Tage)
Ältere Kommentare anzeigen
Dear all,
I have ns=2838 daily observations y. I plot these data using the following commands
startDate = datenum('07-01-1996');
endDate = datenum('07-30-2007');
xData = linspace(startDate,endDate,ns);
figure
plot(xData, y )
datetick( 'x','yyyy','keepticks' )
In this case, I obtain the following sequence of years on the x-axis:
1995, 19997, 1998,2000,2001,2002,2004, 2005, 2006, 2008
But I would like to have, vertically to the x-axis, all the years starting from 01/1996 till 30/2007, that is
01/1996, 01/1997, 01/1998 , 01/1999 01/2000 , 01/2001, 01/2002 ...
How could I modify the above code to do that?
Thanks in advance
0 Kommentare
Akzeptierte Antwort
Azzi Abdelmalek
am 29 Aug. 2013
ns=2838;
startDate = datenum('07-01-1996');
endDate = datenum('07-30-2007');
xData = linspace(startDate,endDate,ns);
plot(xData, randn(ns))
xt=arrayfun(@num2str,(1996:2007),'un',0)
xl=get(gca,'xlim')
set(gca,'xtick',linspace(xl(1) ,xl(2),numel(xt)),'xticklabel',xt)
2 Kommentare
Azzi Abdelmalek
am 29 Aug. 2013
close
ns=2838;
startDate = datenum('07-01-1996');
endDate = datenum('07-30-2007');
xData = linspace(startDate,endDate,ns);
plot(xData, randn(ns))
xt=arrayfun(@num2str,(1996:2007),'un',0)
xl=[startDate endDate]
set(gca,'xlim',xl)
set(gca,'xtick',linspace(xl(1) ,xl(2),numel(xt)),'xticklabel',xt)
Weitere Antworten (1)
Siehe auch
Kategorien
Mehr zu Dates and Time finden Sie in Help Center und File Exchange
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!