hi,i have a problem to fix xticks in 2d plot.
i have a time series from 1990,01 up to 2020,03;when i plot my data ,the xaxis is full of date,how i could specify the date will be shown in x axis.
appreciate in advance

 Accepted Answer

Rik
Rik on 15 May 2020

1 vote

datetick seems a good place to start. Otherwise you can see if the xtickformat function suits your need.

3 Comments

y=gyields(:,1)
startDate = datenum('01-1990')
endDate = datenum('01-2019');
xData = linspace(startDate,endDate,360)
plot(xData,y);
ax = gca;
ax.XTick = xData;
datetick('x','yyyy')
these are my code,but i have this error
"Error using matlab.graphics.axis.decorator.DatetimeRuler/validateTicks
Value must be a vector of increasing datetime values.
Error in matlab.graphics.axis.decorator.DatetimeRuler/setTicksDelegate"
The datenum values that are generated by your code didn't match what I expected, so I edited it a bit. The code below runs without errors or warnings.
S=load('example.mat');y=S.y;
startDate = datenum('01-01-1990');
endDate = datenum('01-01-2019');
xData = linspace(startDate,endDate,360);
plot(xData,y);
set(gca,'XTick',xData);
datetick('x','yyyy')
thx so much ,it works

Sign in to comment.

More Answers (0)

Community Treasure Hunt

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

Start Hunting!