MATLAB Answers

Pankaj
0

making `errorbar` work with `datetime`

Asked by Pankaj
on 22 Aug 2019
Latest activity Answered by Lei Hou
on 27 Aug 2019
I would like to plot errorbar with datetime on x-axis
x = datetime(['21-Aug-2019'; '22-Aug-2019'; '23-Aug-2019']);
y = [100; 110; 130];
figure
plot(x,y, '.')
hold on
errorbar(x, y, 20)
The final error produces this error
Error using errorbar (line 76)
Input arguments must be numeric or objects which can be converted to double.
Even the following produces error
errorbar(datenum(x), y, 20*ones(size(y)))
I am using R2016b

  0 Comments

Sign in to comment.

Products


Release

R2016b

2 Answers

Answer by Sai Sri Pathuri on 26 Aug 2019
 Accepted Answer

The errorbar function does not accept datetime object as an input argument. Try to use datenum function to declare the input and note that the third argument must have same size as y.
When you are using the following function,
errorbar(datenum(x),y,20*ones(size(y)));
Try to use the datenum(x) instead of x in plot to avoid the error.
plot(datenum(x), y,'.');

  0 Comments

Sign in to comment.


Answer by Lei Hou
on 27 Aug 2019

Sai is correct that errorbar doesn't yet support datetimes. I've made an enhancement request, and hopefully errorbar will be updated in a not-too-distant upcoming release.

  0 Comments

Sign in to comment.