Dates beside the axis when plotting datetime

I'm trying to plot changes on a specific date of a long intraday data, and want to show (1) only the time and erase the date which appears beside the axis, or (2) change the language of the date beside the axis.

2 Comments

There is a private property named ScaleFormat_I that is under the XAxis property of the axes.
Unfortunately, it does not appear to be possible to set the property, and the details of constructing datetime rulers is hidden inside a .p file toolbox/matlab/graphics/axis/+matlab/+graphics/+axis/+decorator/DatetimeRuler.p
@Walter Roberson: Starting in R2024a, the ScaleFormat_I property has been replaced by a documented (and wirtable) SecondaryLabelFormat property.

Sign in to comment.

 Accepted Answer

Starting in R2023b, you can use the new family of secondary label functions (e.g. xsecondarylabel) to toggle the visiblity of the secondary label off.
t = datetime('September 1, 2023'):days(1):(datetime('now')+days(90));
y = cumsum(randn(size(t)));
plot(t,y)
title('Fall 2023')
xsecondarylabel('Visible','off')
You can also use the new functions to add custom secondary labels.
ysecondarylabel('USD, millions')
For more info and demos on secondary labels, see the Graphics and App Building blog article below.

More Answers (1)

1) The date information can be hidden by setting the TickLabelsMode to 'manual' on the DatetimeRuler.
ax = gca;
ax.XAxis.TickLabelsMode = 'manual';
2) The default input locale for datetimes can be changed in the Preferences dialog box (i.e. Preferences > Command Window > Datetime format > Locale).

Categories

Products

Release

R2020a

Community Treasure Hunt

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

Start Hunting!