🌱
PythonのCalmapを使ってトレーニング記録を可視化する
はじめに
普段体調を整えるために筋トレやジョギングをしており、それぞれアプリに運動が記録されているのですが、githubみたいなカレンダー(草)にして確認するとやる気が出るかな?と思って可視化してみることにしました。
自作しようと思ったらちゃんと calmap というものが作られていたので使ってみます。
- Calendar heatmaps from Pandas time series data https://pythonhosted.org/calmap/
実装
上の公式ドキュメントに従って、yearplot を使ってデータを描画しています。雰囲気このような実装です。
# time series の読み込み (走った日付と距離)
data = pd.read_csv(args.data, index_col=0, parse_dates=True)
events = data.km
calmap.yearplot(events, year=2022, daylabels="MTWTFSS",
fillcolor="grey", linewidth=0.1)
plt.savefig(args.output, bbox_inches="tight")
plt.close()
データ
筋トレ(2022年9月より)とジョギング(2022年1月以降のみ)を主な対象としています。サンプルのデータ(というか実際のデータ)はレポジトリに入っています。
- 筋トレ
- 2022年9月〜現在まで
- 筋トレした日だけ1になるデータ(詳しいログもあるが、取るのが面倒なので使わない)、
- ジョギング
- 2022年1月〜現在まで
- Garmin ConnectからCSVでエクスポート可能
- 主にジョギングした日と距離を使う
可視化した結果
筋トレの可視化です。データが0-1なので、あまり鮮やかじゃなくて工夫した方がいい気がしてきました。
ジョギングのトレーニング可視化です。鮮やかで良いです。
まとめ
そのうち自動化したいです。筋トレはローカルアプリ(iPhone)なので面倒ですが、ジョギングはGarmin Connectなので、Garmin Connectに記録が追加されたらジョギング赤草を最新に更新する、という処理が頑張れば出来そうな気がしています。
今回のレポジトリです。
Discussion