Streudiagramm animieren

Sep 17 2020

Ich habe einen Datensatz des folgenden Formats

{time,x_pos,y_pos,z_pos}

Ich möchte eine Animation erstellen, die die zeitlichen Änderungen der Koordinaten {x, y, z} im 3D-Listenpunktdiagramm zeigt. Könnte mir bitte jemand eine Idee geben? Die endgültige Animation sollte wie folgt aussehen. Der Indikator (grüner Kreis) bewegt sich mit der Zeit (über der Abbildung gezeigt). Es tut mir leid, dass ich die Daten nicht teilen konnte. Vielen Dank!

Antworten

3 kglr Sep 18 2020 at 06:06
SeedRandom[1]
dates = Sort @ RandomSample[DateRange[Today, DatePlus[Today, {100, "Day"}]], 30];
data = Join[List /@ dates, Accumulate[RandomReal[10, {30, 3}]], 2];

g1 = Graphics3D[{Blue, Line@data[[All, 2 ;;]]}, BoxRatios -> 1, Axes -> Automatic];

frames = Table[Show[g1, Graphics3D[{Red, Sphere[data[[i, 2 ;;]], 5]}], 
    PlotLabel -> data[[i, 1]], SphericalRegion -> True, 
    ImageSize -> Medium, ImagePadding -> 20, 
    PlotRange -> {{0, 200}, {0, 200}, {0, 200}}], 
  {i, 1, Length @ data}];

ListAnimate[frames]