How to add a datetime array to addpoints for an animated line plot?
15 Ansichten (letzte 30 Tage)
Ältere Kommentare anzeigen
Sun
am 2 Okt. 2019
Kommentiert: Noah Prisament
am 7 Jun. 2023
Hi,
Let's say I have a datetime & temperature arrays as following:
Xdata Ydata
'05:00:00.048' 41
'05:00:00.052' 42
'05:00:00.056' 40.5
'05:00:00.060' 43
'05:00:00.064' 44
'05:00:00.068' 45
'05:00:00.072' 45.5
'05:00:00.076' 46
'05:00:00.080' 47
'05:00:00.084' 47.5
'05:00:00.088' 48
I would like to plot an animation line using addpoints. "addpoints" needs Xdata to be a double but I need to plot it as a datetime object.
Help me understand if there's another way around this.
Thanks,
Sun
0 Kommentare
Akzeptierte Antwort
Walter Roberson
am 2 Okt. 2019
Unfortunately, animatedLine only permits double()
There are some obscure circumstances in plotting under which datetime objects will automatically be converted to doubles, but this is not one of those circumstances. :(
2 Kommentare
Eric Prandovsky
am 9 Feb. 2023
Bearbeitet: Eric Prandovsky
am 9 Feb. 2023
Previous examples show converting to serial date number using datenum
datenum(datetime)
But the datenum documentation says it's no longer recommended, any idea what the new suggested method is?
Noah Prisament
am 7 Jun. 2023
The "animatedline" now supports "datetime" values natively, so this is the new suggested method. This will also show the proper ruler on each axis. See my answer below for example syntax.
Weitere Antworten (2)
Ajay Kumar
am 2 Okt. 2019
Try this:
Convert the datetime values to numbers using datenum.
Fetch these datenum values as x parameter to addpoints.
While plotting convert these datenum values to datetime again using datetime and 'ConvertFrom'.
I hope it works.
1 Kommentar
Noah Prisament
am 7 Jun. 2023
The "animatedline" now supports all numeric datatypes as well as datetimes and durations for all axes as of R2023a!
In order to plot your data on an "animatedline" you can now utilize the following example:
h = animatedline(NaT, NaN);
addpoints(h, Xdata, Ydata);
or to initialize the "animatedline" with data:
h = animatedline(Xdata, Ydata);
0 Kommentare
Siehe auch
Kategorien
Mehr zu Animation finden Sie in Help Center und File Exchange
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!