# How to display XTicks from the command line?

1 view (last 30 days)
Emerson De Souza on 4 Oct 2012
INTRO: Hi I plot arbitrary data against date ticks for hours of the day as below:
%Get traffic count data
% Create arrays for an arbitrary date, here April 18, 1995
n = length(count);
year = 1990 * ones(1,n);
month = 4 * ones(1,n);
day = 18 * ones(1,n);
% Create arrays for each of 24 hours;
hour = 1:n;
minutes = zeros(1,n);
% Get the datenums for the data (only hours change)
xdate = datenum(year,month,day,hour,minutes,minutes);
% Plot the traffic data against datenums
plot(xdate,count)
% Update the graph's x-axis with date ticks
datetick('x','HHPM')
GOAL: I want to display the XTicks and modified the following lines:
h=subplot(1,1,1);
plot(xdate,count);
set(h,'XTick',xdate)
datetick(h,'x','HH','keepticks')
QUESTION: Why do I need to use subplot to display the XTick? I have also the version suggested by Walter:
h = plot(xdate,count);
haxis = ancestor(h, 'axes');
set(haxis, 'XTick', xdate);
datetick(haxis, 'x', 'HHPM')
but I still obtain the following error:
Error using set
Conversion to double from cell is not possible.
I wonder if someone could help me to correct these command lines and avoid the use of subplot.
Emerson

Walter Roberson on 4 Oct 2012
Plots do not have ticks, axes have ticks.
h = plot(xdate,count);
haxis = ancestor(h, 'axes');
set(haxis, 'XTick', xdate);
datetick(haxis, 'x', 'HHPM')
Emerson De Souza on 5 Oct 2012
Thank you Walter,
the line above fixes the problem.