I wanted to divide my 24 hour data into 1 hour each, but MATLAB divided it into 1 hour 2 minutes each?, Please help on how to divide into 1 hour each

 采纳的回答

Adam Danz
Adam Danz 2021-11-18
编辑:Adam Danz 2024-6-17

0 个投票

Use xtickformat | ytickformat | ztickformat which sets the TickLabelFormat of the axes (Matlab R2016b or later)
datetick(tickaxis,dateFormat) with dateFormat='HH' will also set the datetime format but the axis label will not include the full date references that shows using the x|y|ztickformat functions. Note: datetick is officially no longer recommended starting in R2024a.

7 个评论

I tried that and this is what I got, but I think this is just hiding values like 22:57 to 22, which is not what I want
No worries I figured it out, I had 'keepticks' turned on, that somehow ruined the plot
Good find. KeepTicks prevents matlab from re-computing an optimal tick interval given the length of tick labels.
datetick is not really a great way to make plots against time. I recommend looking at plotting aganst a datetime instead.
datetick works with datetime values. I suppose xtickformat is a bit better since it includes the date stamp.
dtm = datetime('today') + seconds(0:10:1000);
data = rand(size(dtm));
plot(dtm, data)
datetick('x', 'MM', 'keepticks')
xlabel('minutes')
get(gca, 'xtick') % still datetime
ans = 1×10 datetime array
Nov 23, 2021, 00:00 Nov 23, 2021, 00:02 Nov 23, 2021, 00:04 Nov 23, 2021, 00:06 Nov 23, 2021, 00:08 Nov 23, 2021, 00:10 Nov 23, 2021, 00:12 Nov 23, 2021, 00:14 Nov 23, 2021, 00:16 Nov 23, 2021, 00:18
figure()
plot(dtm, data)
xtickformat('mm') % NOTE: mm with xtickformat vs MM with datetick 😕
xlabel('minutes')
Adam, you are right. I assumed the OP was using datenums. Still, datetick is not really the right way to manage the ticks in a datetime plot. Better to use the axis properties.
>> d = datetime(2021,11,24) + minutes(0:30:14400);
>> x = 1:length(d);
>> plot(d,x)
>> ax = get(gca,"XAxis")
ax =
DatetimeRuler with properties:
Limits: [Nov 24, 2021 Dec 04, 2021]
TickValues: [Nov 24, 2021 Nov 25, 2021 Nov 26, 2021 Nov 27, 2021 Nov 28, 2021 Nov 29, 2021 Nov 30, 2021 Dec 01, 2021 ]
TickLabelFormat: 'MMM dd'
Show all properties
Thanks Peter. I've updated my answer.

请先登录,再进行评论。

更多回答(0 个)

类别

帮助中心File Exchange 中查找有关 Axes Appearance 的更多信息

产品

版本

R2021b

Community Treasure Hunt

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

Start Hunting!

Translated by