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

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

pythonの活用例について(fit ファイルの利用 その12:Cateye社 Avventuraのデータからーヒルクライムデータ-バイオリンプロット)

 前回の記事で坂の勾配の分布の様子の図示化として、箱ひげ図を紹介しました。今回はバイオリンプロットについて紹介したいと思います。

 バイオリンプロットですが箱ひげ図と同様にデータの分布の様子を図示化するプロットです。箱ひげ図はデータの中心部分を箱で表示しつつ、最大値、最小値までの両端の分布をひげ部分で表示して視覚化したものです。バイオリンプロットは箱ひげ図に加えて、データの確率密度(ヒストグラムのようなイメージ)が加わったような図となっています。真ん中の線の太い部分が箱ひげ図の「箱」に当たる部分で同様にデータの中心部分の分布を示しています。それに加えて、バイオリンプロットの場合は両側に曲線が図示されており、この曲線がデータの確率密度を表しています。数値だけでなく、データの分布の様子が視覚的にイメージできて、坂の全体の勾配の様子もイメージしやすいのではないでしょうか。

 

f:id:winchemwin:20220306055017p:plain

バイオリンプロット図 説明

 バイオリンプロット作成のコードは簡単で、前回の箱ひげ図作成のコードでプロットの命令のところをplt.violinplot(変数) とするだけで作成できます(このコードで作成した図が上の説明図になります。但し、説明用のコメント(最大値、中央値・・・・など)は表示されません)

f:id:winchemwin:20220306061130j:plain

バイオリンプロット作成 コード

  

 上記の坂の平均勾配は8.5%、最高斜度は17%程度ですが、これらの数値やだけではイメージできない坂全体の様子がよりイメージしやすくなっているのではないでしょうか。あまり見かけないプロットですが、ヒルクライムに関して坂の情報を視覚的に捉える有効な手法のひとつとして紹介させていただきました。

 次回は激坂度の指標となる「激坂ファクター」なるものを作ってみましたので、その事例について紹介したいと思います。