datetick gives me errors

I have a lot of experience in data crunching, but I am fairly new to MatLab. I am able to currently plot data, but when I try to display the x-axis values in hours:minutes (or any time format for that matter), a get an error. I know I am missing something silly, but I have searched the help files without luck for the last hour. Here is my code, with error.
>> figure
>> hold
Current plot held
>> plot(x,M01_80T)
>> datetick('x',13)
Error using datevecmx
The datevecmx function only accepts double arrays.
Error in datevec (line 309)
[y,mo,d] = datevecmx(t);
Error in dateTickPicker (line 85)
[y,m,d] = datevec(x);
Error in datetick>bestscale (line 307)
[labels,format] = dateTickPicker(axh,[xmin,xmax],dateform,dateChoice,axVal);
Error in datetick (line 260)
ticks = bestscale(axh,ax,vmin,vmax,dateform,dateChoice);

Answers (2)

dpb
dpb on 6 Aug 2019

0 votes

You don't show definition of X, but datetick works only for axes drawn with datenum which is a double.
But, datenum is old and deprecated and datetick is klunky at best...use the new datetime class instead and plot() is already datetime aware so don't need datetick at all.
Star Strider
Star Strider on 6 Aug 2019

0 votes

From the datetick documentation:
‘The axis data values should be serial date numbers, as returned by the datenum function.’
See datenum for details.
Another option would be to use datetime arrays (R2014b and later).

Categories

Products

Tags

Asked:

on 6 Aug 2019

Answered:

on 6 Aug 2019

Community Treasure Hunt

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

Start Hunting!