最初にPythonを使用しようとします。ここで私は、この可視化を行うために書いたコードは次のとおりです。matplotlibの3D散布アニメイト順次データ
import pandas as pd
import matplotlib.pyplot as plt
import matplotlib
matplotlib.style.use('ggplot')
from mpl_toolkits.mplot3d import Axes3D
from mpldatacursor import datacursor
AccX = pd.read_csv('Data_Retrieval_April_05_2017.csv')
AccX.columns = ['Tag', 'Timestamp', 'X']
AccX = AccX[AccX['Tag'].str.contains("ACC856:AccelerationX")]
del AccX['Tag']
print(AccX.head())
AccY = pd.read_csv('Data_Retrieval_April_05_2017.csv')
AccY.columns = ['Tag', 'Timestamp', 'Y']
AccY = AccY[AccY['Tag'].str.contains("ACC856:AccelerationY")]
del AccY['Tag']
print(AccY.head())
AccZ = pd.read_csv('Data_Retrieval_April_05_2017.csv')
AccZ.columns = ['Tag', 'Timestamp', 'Z']
AccZ = AccZ[AccZ['Tag'].str.contains("ACC856:AccelerationZ")]
del AccZ['Tag']
print(AccZ.head())
Accel = AccX.merge(AccY,on='Timestamp').merge(AccZ,on='Timestamp')
Accel = Accel.set_index(['Timestamp'])
print(Accel.head())
Accel['X'] = Accel.X.astype(float)
Accel['Y'] = Accel.Y.astype(float)
Accel['Z'] = Accel.Z.astype(float)
print(Accel.head())
print(Accel.dtypes)
accelscat = plt.figure().gca(projection='3d')
accelscat.scatter(Accel['X'],Accel['Y'],Accel['Z'], c='darkblue', alpha=0.5)
accelscat.set_xlabel('X')
accelscat.set_ylabel('Y')
accelscat.set_zlabel('Z')
plt.show()
データは、タイムスタンプでインデックスされ、次のようになりますされています
私は次に何をしたいのですがどのようにされました上記のプロットを取って、各点を一度に1つずつ持って来てください。これを行う簡単な方法はありますか? matplotlibの例を見ると、ランダムに生成されたデータを使用しているように見えます。私は自分のデータの各行の図を更新する関数をどうやって書くのか分かりません。
誰かが同じようなことが行われている例に私を誘導できる人は、本当に感謝しています。これまでのところ、私の検索では、データが関数によって生成されていたか、ランダムに生成されたという事例しか得られませんでした。この質問では、3D散布図のための例があります