datetick gives me errors

21 visualizaciones (últimos 30 días)
Scott Naucler
Scott Naucler el 6 de Ag. de 2019
Respondida: Star Strider el 6 de Ag. de 2019
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);

Respuestas (2)

dpb
dpb el 6 de Ag. de 2019
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 el 6 de Ag. de 2019
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).

Categorías

Más información sobre Dates and Time en Help Center y File Exchange.

Etiquetas

Productos

Community Treasure Hunt

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

Start Hunting!

Translated by