走っているのに歩いていなかった

Apple Watch で記録したヘルスケアのデータを、Python と SQLite と Grafana を使って手元の PC で可視化しました。週 1〜2 回のランニングで VO2 Max は 46 まで上がった一方、1 日の歩数は平均 4,000 歩にとどまっていたことを、歩数と VO2 Max の推移から振り返ります。

公開日
読了まで
2 分

/ 2 分

目次

私は Apple Watch をずっと使っていますが、ヘルスケアアプリで見ていたのはその日の歩数と睡眠時間くらいで、1 年分のデータをさかのぼって見たことはありませんでした。今回 Grafana1 で 1 年分を表示したところ、思っていたより悪い数字と、思っていたより良い数字が同時に見つかりました。

2025 年 11 月から週 1〜2 回、1 回 20〜40 分のランニングを続けているにもかかわらず、1 日の歩数は平均 4,000 歩でした。一方で、心肺持久力の指標である VO2 Max2 は 46 まで上がっています。

ヘルスケアのデータを Grafana で表示する

このダッシュボードを作ったきっかけは、iPhone のヘルスケアのデータをサーバーに送信している人の投稿を X(旧 Twitter)で見かけたことです。私は仕事で Grafana を使っているので、自分のヘルスケアのデータを題材にして Grafana のダッシュボードを作りました。

しくみは、iPhone のヘルスケアアプリから書き出した export.xml を Python のスクリプトで SQLite のデータベースに変換し、Docker で起動した Grafana に表示するというものです。すべて手元の PC で動くため、クラウドサービスの利用料金はかかりません。

Grafana のダッシュボード画面

セットアップの手順は、次のリポジトリの README に書いています。

GitHub - Suntory-N-Water/apple-health-grafanagithub.com

歩数の推移

私は週 3 日出社し、2 日は在宅勤務をしています。通勤に徒歩はほとんど使わないので歩数が少ないことは分かっていましたが、グラフを見ると、出社した日でもほとんどの日で 1 万歩に届いていませんでした。

歩数の推移


歩数が突出して多い日は旅行で普段より歩いた日で、それ以外の日は低い歩数のまま推移しています

週 1〜2 回のランニングを続けていても、ランニング以外の日常生活で歩く量は増えていません。私はランニングで運動量を補えていると考えていましたが、日常の歩数はランニングとは別に増やす必要があると思います。

VO2 Max の推移

歩数とは反対に、VO2 Max は上がっていました。計測を始めたころは 40 台前半だった VO2 Max が、2026 年 5 月の時点では 46 になっています。2025 年 11 月からの約半年間、ランニングを続けたことで上がったと考えられます。

VO2 Max の推移

ランニングを始めたころは、効果が出ているのか分からないまま続けていました。VO2 Max の推移を見て、半年間のランニングで心肺持久力が上がっていることを数字で確認できました。

私は、ヘルスケアのデータを毎日ダッシュボードで追う必要はなく、1 年に 1 回書き出して見返す頻度で十分だと思います。今回も 1 年分のデータを一度表示しただけで、歩数が少ないことと VO2 Max が上がっていることの両方が分かりました。

まとめ

  • 2025 年 11 月から週 1〜2 回のランニングを続けても、1 日の歩数は平均 4,000 歩で、出社した日もほとんど 1 万歩に届いていなかった
  • 同じ半年間で VO2 Max は 40 台前半から 46 まで上がり、ランニングの効果を数字で確認できた

脚注

  1. オープンソースのデータ可視化ツールです。時系列データのグラフ表示や、システム監視のダッシュボードによく使われます。 ↩本文へ戻る

  2. VO2 Max は最大酸素摂取量のことで、運動中に体が取り込める酸素の最大量を表します。数値が高いほど心肺持久力が高いことを示します。単位は mL/kg/min です。Apple Watch は運動中の心拍数などから推定値を記録します。 ↩本文へ戻る

この記事を Markdown で取得