MATLAB Answers

0

Plot where x axis is the date, Part 2 (edited)

Asked by alpedhuez on 5 Jun 2018
Latest activity Edited by Nithin Banka on 7 Jun 2018
I would like to have x axis of the plot between April 20 2016 and May 18 2018. Please advise how to modify an example
xlim(datetime(2014,[7 8],[12 23]))
xtickformat('dd-MMM-yyyy')
(https://www.mathworks.com/help/matlab/matlab_prog/plot-dates-and-durations.html)
to the above setting.

  0 Comments

Sign in to comment.

Tags

Products

3 Answers

Answer by Varun Garg on 5 Jun 2018
 Accepted Answer

Suppose you want to plot a graph for dates between July 1,2012 to July 1,2016. One possible implementation is as follows:
xMin= datetime(2012,7,1)
xMax= datetime(2016,7,1)
xlim([xMin,xMax])
You can change the code accordingly now. Hope this works for you.

  0 Comments

Sign in to comment.


Answer by Nithin Banka on 5 Jun 2018
Edited by Nithin Banka on 7 Jun 2018

Assuming that you have the same number of data points as the number of dates. Create a datetime vector for the duration and plot your data against the datetime vector.
datetimeVector = datetime(2016, 4, 20):datetime(2018, 5, 18);
plot(datetimeVector, yourData); %yourData is what you want to plot against the duration
xlim([datetimeVector(1) datetimeVector(end)]);
xtickformat('dd-MM-yyyy');

  0 Comments

Sign in to comment.


Answer by monika shivhare on 5 Jun 2018

xlim(datetime([2016 2018],[4 5],[20 18]))
xtickformat('dd-MMM-yyyy')

  2 Comments

This did not work.
For this to work, you need the x-axis values to be in 'datetime' datatype or else, this gives an error.

Sign in to comment.