How to add a datetime array to addpoints for an animated line plot?
    3 visualizzazioni (ultimi 30 giorni)
  
       Mostra commenti meno recenti
    
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 Commenti
Risposta accettata
  Walter Roberson
      
      
 il 2 Ott 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 Commenti
  Eric Prandovsky
 il 9 Feb 2023
				
      Modificato: Eric Prandovsky
 il 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
    
 il 7 Giu 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.
Più risposte (2)
  Ajay Kumar
      
 il 2 Ott 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 Commento
  Noah Prisament
    
 il 7 Giu 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);
2 Commenti
  unknown
 il 3 Gen 2025
				How to use animatedline to draw figure with datetime in app designer UiAxes ?
An occurs error when use addpoints .
app.aline=animatedline(app.UIAxes,app.data.time,app.data.(app.figname));          
addpoints(app.aline,datetime(app.data.time(end),'Format','yyyy-MM-dd HH:mm:ss'),app.data.(app.figname)(end))
Matlab version is R2024b
  Noah Prisament
    
 il 3 Gen 2025
				Hi, what is the error that you are experiencing, can you send the full error text in a reply?
A potential issue is if your current axes already has non-datetime data on the x-axis. A given axes can only have either numeric or non-numeric data on either axis.
Vedere anche
Categorie
				Scopri di più su Calendar in Help Center e File Exchange
			
	Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!



