Using copyobj to copy lines plotted with datetime xdata
10 views (last 30 days)
Show older comments
Kevin J. Delaney on 25 Aug 2017
Commented: Xiaoyi Zhao on 20 Nov 2020
Matlab returns a warning "Error updating Line. Value must be a vector of numeric type" when I use copyobj to copy a line object in which the XData are datetimes, not numeric. Is there a way to prepare the new axes to receive lines plotted with datetime? Is there a datetime-tolerant version of copyobj?
Xiaoyi Zhao on 20 Nov 2020
I had similar issue for a longtime, and I was "solving" them by simply plot timeserise with "datenum" (i.e., the MATLAB serieal time) not "datetime". But, the simple/real solution should be this:
For the traget figure
set(gca, 'XAxis', matlab.graphics.axis.decorator.DatetimeRuler);
Then, you could do the copyobj which the XData are datetime.
Walter Roberson on 25 Aug 2017
First you have to set the XRuler property of the second axes to be a DateTime ruler, such as
L = ... the line object
ax = ancestor(L, 'axes');
nax = axes();
nax.XRuler = ax.XRuler;
More Answers (0)
Find more on Dates and Time in Help Center and File Exchange
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!Start Hunting!