あるケミストの独り言(winchemwinの日記)

ケミスト(化学者)の視点で、面白そうな情報(シミュレーション関係など)を発信

Pythonの活用例について(fit ファイルの利用  その6:Cateye社 Avventuraのデータからーグラフの重ね合わせ(スピード、標高、勾配))

 前回までの記事で時間、距離、スピード、標高、斜度などの関係をグラフ化を行ってきました。それぞれの単一のグラフでも十分データの視覚的に見やすくなっているのですが、2つの指標のグラフを同じグラフ内で重ねて見たい場合もあるかと思います。今回はグラフの重ね書きについて試した結果について紹介します。

 一つめは横軸が距離で、縦軸がスピードと標高のグラフを重ね合わせたグラフになります。重ね合わせグラフを作成したコードは以下のようになります。

f:id:winchemwin:20220212101506j:plain

距離/スピード、標高 グラフ 重ね書きのコード

 重ね書きをするためにax2を設定し、twinx()でX軸を共有する設定にしています。また、重ねたときに区別しやすいように、’C1'で線の色赤色にしています。複数のグラフを並べるわけではないので必要ないかもしれませんが、’constrained_layout=True'にして、グラフが見やすく配置されるようにしています。

 

f:id:winchemwin:20220212102533j:plain

距離/スピード、標高のグラフ 重ね書き

 重ね書きのグラフは上図のようになります。Y軸の左側にはスピードの目盛りが、右側には標高の目盛りが配置されています。重ね合わせてみると標高が上がる場面ではスピードが落ちて、下がる場面ではスピードが上がっているのがわかるかと思います(当たり前のはなしですですね)。

 2つ目は横軸が距離で、縦軸がスピードと斜度のグラフを重ね合わせたグラフになります。重ね合わせグラフを作成したコードは以下のようになります。

 

f:id:winchemwin:20220212103200j:plain

距離/スピード、斜度 グラフ 重ね書きのコード

  1つ目のコードとはほとんど変わっていませんが、違うのはax2にGrade(斜度)を設定している点です。作成したグラフは以下のようになります。

f:id:winchemwin:20220212103537j:plain

距離/スピード、斜度のグラフ 重ね書き

  こちらもY軸は2つ設定されていて、左側がスピード、右側が斜度になって

います。斜度の大きいところではスピードが減少し、斜度がマイナス(下り坂)のところではスピードが上がっているのが一目瞭然ですね(当たり前ですが・・・)。

 matpoltlib, seabornを利用した重ね書きについて紹介させていただきました。

 次回以降は坂に関するデータ(ヒルクライムの参考になるかもしれません)について、データの加工も含め紹介してゆきたいと思います。