How do I change datetime format in stackedplot on X-Axis?
4 views (last 30 days)
Show older comments
Right now by default it's in 'hh:mm' I want it to be in 'hh:mm:ss' format with 1 minute interval.
Note: The image shown below is a "stackedplot" and not "plot".
0 Comments
Answers (2)
Adam Danz
on 18 Feb 2021
In case anyone is still looking for this solution,
% Create stacked plot, set xdata as datetime values
% The XData can also be set using 'XVariable' for tables but needs to be datetime format.
sph = stackedplot(rand(50,5),'XData',datetime(2020,1,1)+minutes(linspace(0,480,50)));
% Get axis handles
ax = findobj(sph.NodeChildren, 'Type','Axes');
% Set datetime format. The first axis will be the bottom one.
xtickformat(ax(1),'HH:mm:ss')
0 Comments
dpb
on 14 Jun 2019
hAx=gca;
hAx.TickLabelFormat='hh:mm:ss';
You can set the XTick values as wanted but there will not possibly be room to label more than half-hour frequency if that when you add the other text--just not enough real estate to have that much text in such close proximity.
5 Comments
dpb
on 14 Jun 2019
Edited: dpb
on 16 Jun 2019
getundoc(sp)
ans =
struct with fields:
ApplicationData: [1×1 struct]
Axes: [1×1 Axes]
MaxNumAxes: 25
MaxVarIndex: 1
MessageHandle: [1×1 TextBox]
MinAxesHeight: 20
NodeChildren: [2×1 Graphics]
NodeParent: [1×1 ScribeLayer]
NumPlotsInAxes: 5
...
Plots: {[1×5 Line]}
Selected: 'off'
...
Behavior: [1×1 struct]
Well, there's an Axes handle to start probing... don't give up so quickly!!
dpb
on 15 Jun 2019
Also, try setting the display format for the x-axis variable before plotting -- possibly the function will look at that in deciding the display format.
See Also
Categories
Find more on Annotations in Help Center and File Exchange
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!