How do I change datetime format in stackedplot on X-Axis?

4 visualizaciones (últimos 30 días)
Vraj Mistry
Vraj Mistry el 14 de Jun. de 2019
Respondida: Adam Danz el 18 de Feb. de 2021
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".
Plot.png

Respuestas (2)

Adam Danz
Adam Danz el 18 de Feb. de 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')

dpb
dpb el 14 de Jun. de 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 comentarios
dpb
dpb el 14 de Jun. de 2019
Editada: dpb el 16 de Jun. de 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
dpb el 15 de Jun. de 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.

Iniciar sesión para comentar.

Productos


Versión

R2019a

Community Treasure Hunt

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

Start Hunting!

Translated by