より良い時系列データの表示を模索した話

今のところ,僕にとっての最適はこれ.

画像
こんなグラフ

背景

僕は2016年の年始から (ほぼ) 毎週プールに言って水泳をしてる.泳ぎ始めたきっかけは健康のためだったから特に記録もつけずに泳いでたんだけど,ある時 (最古の記録は2016年12月11日) から「泳いだ距離の記録をつけよう!」と思ったんだよね.

数値的なデータだから簡単に図示することができる.プールに行ったらその都度泳いだ距離とその所要時間を記録してるんだけど,特に泳いだ距離は達成感にもなるから時どきグラフ化してるんだよね.そのグラフの書き方を工夫したので,それについて書きます.

グラフ1

最初はこんな感じのグラフだった.おそらくこれは2016年12月11日から2017年3月12日までの記録をグラフに書いたもの.

画像
これがグラフ第1弾

毎回の泳いだ距離を並べて書いてるグラフだね.先週と比べて長く泳いだのか,それとも短かったのかがひと目で分かるグラフの書き方.

グラフ2

上のグラフは悪くないけど,このまま水泳の記録を取り続けたら横にどんどん伸びて長ーいグラフになっちゃうじゃん?それってグラフの見やすさが落ちるから良くないよね.ということでグラフの書き方を1回改めてみたのでした.

画像
積み上げ棒グラフに
出典のツイート

毎回の記録を折れ線グラフに書くんじゃなくて,毎月の累積を棒グラフにしてみた.そうすることでグラフが横方向に伸びるスピードがかなりゆっくりになったね.前のグラフの書き方だと1日経過ごとに横軸が (ほんの少し) 伸びてたけど,この書き方なら1ヶ月経過で横軸が伸びるね.

グラフ2の3つの問題

いい感じにまとまったグラフ2の書き方なんだけど,3つの不満があった.

  1. 横軸が時間にリニアじゃない.つまり横1目盛りの意味がまちまち (30日だったり31日だったり28日だったりする)
  2. 結局,この方法でグラフを書いてもデータが増えたときに横に際限なく伸びちゃう問題を解決してない
  3. 記録のデータが整然でなく,扱いづらい

特に3点目の意味してるところはこれ.整然データの概念を知っていれば,この記録の書き方がかなりイケてないというのが分かるでしょ.これは直したいよね.

画像
データが整然でない!

グラフ3の発明

この3点を解決できるもっといいグラフの書き方はないかなぁと考えてみて,思い付いたのが冒頭にも載せたこのグラフ.

画像
2019年8月現在でベストな図示

このグラフならどれだけデータが増えてもグラフの幅に影響しないね (とは言えここに例えば10本の線を書いたら相当見づらいとは思うけど…).記録も増えてきたことだし,毎週毎週の変化に一喜一憂するよりも,「去年の今頃と比べてどうかな?」と考えることが増えてきたから,その意味でも都合がいい.

データの整然化

グラフの書き方とは直接は関係ないんだけど,データも整然データに直したのでデータの取扱もすごく楽になった.というか別の記事で書きたいけど,IFTTTとか入れて自動で管理できるようになったのが最重要な変化かな.ちなみに付けてる記録は日付と距離と時間で,速さは自動計算ね.

データを整然にした
IFTTTで管理を楽にすることを思い付く

IFTTTで水泳記録の管理を楽にすることを思い付いて,すぐに水泳データを整然化した.2018年10月21日にそれを思い付いて,翌週10月28日の記録はすでにIFTTTで付けてるね (ということまで記録から分かる.すごい!).

もっと記録が増えたら?

書いたように,グラフ3は当面は問題なく運用できそうなんだけど,それでも10本の折れ線をこのグラフに書きたくはないじゃん?グラフがごちゃごちゃになって意味分からなくなっちゃうからね.その時が来るのは数年後なので今は心配要らないけど,実際そうなったらどんなグラフを選ぶべきなんでしょう?

OGP用に作ったけど使わなかった画像です…

グラフの選び方ってとても重要だよね.それについては以前もブログに書いたことあるけど,今の僕にはこの水泳記録が増えまくったときに選ぶべきグラフが分かっていません… データサイエンスとかやる人なら,いい解決策を知ってるのかな?

コメントを残す

Powered by WordPress.com. テーマ: Baskerville 2 by Anders Noren

ページ先頭へ ↑

%d人のブロガーが「いいね」をつけました。