How to set the axis to display hours?

3 visualizzazioni (ultimi 30 giorni)
ccs
ccs il 26 Feb 2015
Commentato: ccs il 27 Feb 2015
How can I make the datetick count from 00:00 to 23:59. This below is dispalying 00:00 for every hour.
d= datetime(start_date):1/24:datetime(end_date)+1;
hours=hour(d);
scatter(hours,rand(size(d)));
t=datenum(d);
ax=gca;
ax.XTick=1:24;
datetick(ax,'x','HH:MM','keeplimits','keepticks')

Risposte (1)

Guillaume
Guillaume il 26 Feb 2015
The XTick values need to be date number for datetick to work, so maybe:
ax.XTick = ceil(ax.XLim(1)):1/24:floor(ax.XLim(2));
datetick(ax,'x','HH:MM','keeplimits','keepticks');
  5 Commenti
Guillaume
Guillaume il 27 Feb 2015
Yes, there was a typo, missing a bracket which you added in the wrong place. I've corrected my answer
ccs
ccs il 27 Feb 2015
>> d= datetime(start_date):1/24:datetime(end_date)+1;
>> hours=hour(d);
>> t=datenum(d);
>> scatter(hours,rand(size(d)));
>> ax=gca;
>> ax.XMinorTick='on';
>> ax.XTick = linspace(ceil(ax.XLim(1)), floor(ax.XLim(1)), 24);
While setting the 'XTick' property of Axes: Value must be a vector of type single or double whose values increase
Now it says the vector values aren't increasing. Sorry I can figure this out.

Accedi per commentare.

Community Treasure Hunt

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

Start Hunting!

Translated by