Plotting use datenum

1 次查看(过去 30 天)
Maeve  Ryan
Maeve Ryan 2012-1-26
Hello, I want to make a Matlab plot with the months of the year on the x-axis. I am trying to plot a total of 17520 readings (48 per day) on the y-axis and then show the months on the x-axis. The problem with the code I am using now is that the vectors are different lengths (b is 12 and a is 17520).
Here is my code:
function [y] = doc_concentration
a = xlsread ('DOC_Conc_2007-2011.xlsx',1,'A3:A17522');
startDate = datenum('01-01-2007');
endDate = datenum('12-31-2007');
b = linspace(startDate,endDate,12);
length(a)
length (b)
plot (b,a)
set(gca,'XTick',g)
datetick('x','mmm','keepticks')
end
Can anyone help? Thanks in advance.
Maeve
  1 个评论
Jan
Jan 2012-1-26
Please format your code properly using the "{} code" button. I've done this for you this time.

请先登录,再进行评论。

回答(1 个)

Jan
Jan 2012-1-26
Why do you use 12 bins, if you need 17520? What about:
b = linspace(startDate, endDate, 17530)
  4 个评论
Maeve  Ryan
Maeve Ryan 2012-1-26
ok using set (gca,'XLIM',[startDate,endDate}] removed the January label from the next year which helps.
I still cannot figure out how to get every month to appear on the x-axis instead of just every fourth month which is happening now
Jan
Jan 2012-1-26
You can set the ticks explicitely instead of using "set(gca, 'YTick', B'; datetick('x', 'mmm');".

请先登录,再进行评论。

类别

Help CenterFile Exchange 中查找有关 Dates and Time 的更多信息

Community Treasure Hunt

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

Start Hunting!

Translated by