はじめに
Fitbitは腕に装着するタイプのスマートウォッチで、心拍数、歩数、睡眠などの健康データをトラッキングする便利なデバイスです。本記事では、Fitbit APIを活用して、日次(1d)、週次(1w)、月次(1m)の期間ごとの歩数データを取得し、Pythonのmatplotlibライブラリを使って視覚的に棒グラフとして表示する方法を解説します。Fitbit APIの基本的な使い方から、データの取得方法、そして効果的なグラフ表示までのプロセスを段階的に説明していきます。
手順
APIの登録など
その1を参照してください。

fitbit-pythonのインストールなど
その2を参照してください。

モジュールのインポート
バージョン
APIの認証
CLIENT_ID, tokenなどを定義
その1で取得したCLIENT_IDとCLIENT_SECRETとtoken.txtをここで使います。token.txtは実行ファイルと同じ場所に置いておきます。
認証
fitbit.Fitbit()
により、認証を行います。updateToken
関数はtokenの更新用の関数でrefresh_cb
に updateToken
とすることでtokenが期限切れの際に随時更新してくれるようになります。
1ヶ月の歩数データの取得と表示
1ヶ月の歩数データの取得
time_series('activities/steps'
)により歩数データが得られます。base_dateとend_dateにそれぞれ、取得したい日の最初と最後の日を設定します。
データフレームに変換
pd.DataFrame.from_dict
によりデータフレームに変換します。
棒グラフで表示
時刻データをpd.to_datetime()にdatetime形式にした後で棒グラフで表示すると以下のようになります。

1週間の歩数データの取得と表示
1ヶ月の場合と同様の方法で1週間分の歩数データの取得と表示ができます。

1日の歩数データの取得と表示
1日の歩数データの取得
1日の歩数データを15分刻みで取得するには、intraday_time_series(‘activities/steps’)関数を使用します。base_dateで取得したい日付を指定し、detail_levelでデータの時間間隔を設定します。また、start_timeとend_timeでそれぞれデータ取得の開始時間と終了時間を指定できます。
データフレームに変換
pd.DataFrame.from_dict
によりデータフレームに変換します。
日付つき時刻データの作成
棒グラフで表示

まとめ
本記事では、Fitbit APIを使って日次、週次、月次の歩数データを取得し、matplotlibで棒グラフとして視覚化する方法を紹介しました。Fitbit APIの認証設定から始まり、特定期間のデータ取得方法、そしてグラフ化のためのコードまで詳しく解説しています。これらの技術を活用することで、自分の健康データを視覚的に把握し、より効果的な健康管理が可能になります。Pythonを使ったデータ分析の基礎としても役立つ内容となっていますので、ぜひ実践してみてください。
参考

コメント