MATLAB Answers

0

too many input argument while plotting date and time

Asked by chanz agrawa on 20 Apr 2019
Latest activity Answered by Cris LaPierre on 20 Apr 2019
i want to plot this on matlab. the code i am trying is
[~,~,v]=xlsread('solarg55.xlsx')
v=v(2:end,:);
x=datenum(v(:,1),'dd/mm/yyyy HH:MM:SS')
y=cell2mat(v(:,2))
[idx,idx]=sortrows([x,y])
plot(x(idx),y(idx))
xticks=get(gca,'Xtick')
set(gca,'xticklabel',datestr(xticks,'dd/mm/yyyy HH:MM:SS'))
but it gives me this error
Error using date
Too many input arguments.

Products


Release

R2017b

1 Answer

Answer by Cris LaPierre on 20 Apr 2019

Not sure exactly what your desired outcome is. However, why not use readtable, which loads your data into a table? It can handle your dates automatically as datetimes. When you plot with a datetime, the axis labels are dates. No need to set the label manually. You can also sort a table.
Try this code:
opts = detectImportOptions('solarg55.xlsx');
data = readtable('solarg55.xlsx',opts);
data.Properties.VariableNames = {'X','Y'};
data = sortrows(data,{'X','Y'});
plot(data.X,data.Y)

  0 Comments

Sign in to comment.