(time, acceleration_longitudinal,acceleration_lateral,acceleration_dorso_ventral) を含むデータ(data.csv)*読み込み、以下のような3軸の加速度の生波形とそれを元に計算したODBAの時系列グラフを表示するツールです。
*BiPでOpenデータとなっているKatsufumi Sato (Atmosphere and Ocean Research Institute, University of Tokyo) 提供のオオミズナギドリのデータ (title: 9B41870_TS-AxyTrek_Movebank_YNo.6_release20210824) の一部を使用しています。
下記のコードをテキストエディタにコピーし、plot_Acc.pyという名前で保存します。
import pandas as pd import matplotlib.pyplot as plt <h1>CSVファイルの読み込み</h1> data = pd.read_csv('data.csv') <h1>日時情報をpandasのdatetime型に変換</h1> data['time'] = pd.to_datetime(data['time']) <h1>ODBAの計算</h1> data['ODBA'] = ( data['acceleration_longitudinal'].abs() + data['acceleration_lateral'].abs() + data['acceleration_dorso_ventral'].abs() - 9.8 ) <h1>グラフの作成</h1> fig, (ax1, ax2) = plt.subplots(2, 1, sharex=True, figsize=(10, 8)) <h1>加速度のプロット(上側のサブプロット)</h1> ax1.plot(data['time'], data['acceleration_longitudinal'], color='black', label='Longitudinal Acceleration') ax1.plot(data['time'], data['acceleration_lateral'], color='green', label='Lateral Acceleration') ax1.plot(data['time'], data['acceleration_dorso_ventral'], color='blue', label='Dorso-Ventral Acceleration') ax1.set_ylabel('Acceleration (m/s²)') ax1.set_title('Acceleration Components and ODBA over Time') ax1.grid(True) ax1.legend(loc='upper left') <h1>ODBAのプロット(下側のサブプロット)</h1> ax2.plot(data['time'], data['ODBA'], color='red', label='ODBA', linestyle='--') ax2.set_ylabel('ODBA (m/s²)') ax2.set_xlabel('Time') ax2.grid(True) ax2.legend(loc='upper left') <h1>レイアウトの調整と表示</h1> plt.tight_layout() plt.show()
実行方法
使用するPython環境に必要なライブラリ(pandas, matplotlib)をインストールしてください。
pip install pandas matplotlib
コマンドラインでスクリプトを保存したディレクトリに移動し、以下のコマンドを実行します。
python plot_Acc.py