This was sweet in its time, but has now been superseded by much nicer capabilities built into MATLAB: datetime (R2014b) and datetime ruler (R2016b). I strongly suggest you use them instead!
TIMETICK sets current axes to time formatted tick labels. X Axis must be time, in datenum format.
TIMETICK(AX) sets axes with handle AX to time formatted tick labels.
TIMETICK(AX,precision) sets axes with handle AX to time formatted tick labels with precision values to the right of the decimal for seconds specifier.
Use TIMETICK instead of DATETICK when you want fractional second precision. Unlike DATETICK, TIMETICK works well with ZOOM.
See also TIMESTR.
Michelle Hirsch (2020). timetick - legacy (https://www.github.com/michellehirsch/timetick), GitHub. Retrieved .
My bad - just found the datetick() function. Please ignore previous post...
What about if you have a long time series (years) and want output in YYYY-MM-DD? This function only seems to be relevant for second/microsecond time periods????? Any ideas? Thanks.
To resolve the error mentioned in 2nd reply, just use timetick
without any input. Default is x axis.
(credit: Scott Hirsch)
I aded some more edits, I can't seem to upload them, though.
And now in English.
fmt = ['%02d:%02d:%0' totalwidth '.' precision 'f'];
The leading zero also works on fixed-point. For example, if the seconds format is '%07.4f', a seconds value of 0.440 seconds comes out as '00.4400'.
Implementation can be improved. I improved its capability to include all axis's. The timestr function seems a little involved since it is performing datestr for however many ticks you have chosen.
If anyone has come to a solution on how to update the tick labels after zoom let me know.
It did not work for me in 184.108.40.20604 (R14) Service Pack 1 although timestr worked. I received the message below. Hope the author will fix it soon.
>> timetick('x', 'HH:MM:SS.SSSS')
??? Error using ==> get
Error in ==> timetick at 26
xt = get(ax,'XTick');
NOT USED YET
Pointed out that you are better off using datetime (14b) and datetime ruler (16b)
Moved code to GitHub
Bug fix: No longer displays a trailing period when displaying time of second resolution (as opposed to fractional second).
Before: "12:24:31." Now: "12:24:31" with no trailing period. Thanks to Alex Fay for identifying and fixing the bug.