Is there a way to change the format of a datetime object that affects its display when plotting?
1 view (last 30 days)
Show older comments
The default Format for a datetime object is:
'dd-MMM-uuuu HH:mm:ss'
If I modify the format to include the time zone, Format becomes:
'dd-MMM-uuuu HH:mm:ss z'
However, when I create a plot with the datetime object, the format of the tick labels does not change. It appears the "Format" property is not used when plotting. Is this true? If so, is there any way to set the format of the datetime object so it will be displayed that way whenever it is plotted? You can use 'xtickformat' after you create the plot, but you have to do that every time you create a plot. Also, this adds the time zone to every tick label, which isn't ideal. It would make more sense if MATLAB handled that in a similar manner to the way it handles the year by default when you plot a datetime object; the year is displayed once, under the rightmost tick label. Is there any way to do this, without resorting to some manual creation of a label on the plot?
0 Comments
Answers (1)
Walter Roberson
on 10 Oct 2019
No, you would have to set the individual tick labels.
plot() can only set object properties, so it cannot enact any behaviour that is not supported by an axes property. The only potentially relevant properties are TickLabelFormat and the hidden property DataFormat. DataFormat appears to be a copy of the Format of the first datetime object used on the axes; I have not figured out what it is used for yet.
0 Comments
See Also
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!