Python
 Computer >> コンピューター >  >> プログラミング >> Python

Python Pandas入門:Seabornでバイオリン図を描き、四分位数を水平線として表示する方法

Seabornのバイオリンプロット(Violin Plot)は、箱ひげ図(ボックスプロット)とカーネル密度推定(KDE)を組み合わせたグラフを描画するための機能です。seaborn.violinplot()メソッドを使用します。四分位数を水平線として表示するには、innerパラメータに"quartile"を指定します。

データセットの準備

ここでは、クリケット選手のデータが格納されたCSVファイル「Cricketers.csv」をデータセットとして使用します。

必要なライブラリのインポート

まず、必要なライブラリをインポートします。

import seaborn as sb
import pandas as pd
import matplotlib.pyplot as plt

CSVファイルからデータを読み込む

CSVファイルからPandasのDataFrameにデータを読み込みます。

dataFrame = pd.read_csv("C:\\Users\\amit_\\Desktop\\Cricketers.csv")

バイオリンプロットの描画

x軸に「Role(役割)」、y軸に「Age(年齢)」を指定してバイオリンプロットを描きます。order引数に明示的な順序のリストを渡すことで、「Role」ごとの表示順序を制御できます。さらに、inner="quartile"を指定すると、第1四分位数・中央値・第3四分位数が水平線としてバイオリンの内部に表示され、データ分布の特徴をより詳しく把握できるようになります。

sb.violinplot(x = 'Role', y = "Age", order=["Batsman", "Bowler"], data = dataFrame, inner="quartile")

完全なコード例

以下はコード全体です。

import seaborn as sb
import pandas as pd
import matplotlib.pyplot as plt

# CSVファイルからPandasのDataFrameにデータを読み込む
dataFrame = pd.read_csv("C:\\Users\\amit_\\Desktop\\Cricketers.csv")

# 「Role」と「Age」でバイオリンプロットを描画
# order引数で明示的な順序を指定し、「Role」ごとの表示順を制御
# inner="quartile"で四分位数を水平線として表示
sb.violinplot(x = 'Role', y = "Age", order=["Batsman", "Bowler"], data = dataFrame, inner="quartile")

# グラフを表示
plt.show()

出力結果

上記のコードを実行すると、以下のような出力が得られます。

Python Pandas入門:Seabornでバイオリン図を描き、四分位数を水平線として表示する方法

  1. Seabornのswarmplotでorderパラメータを使って表示順序を制御する方法

    Seabornのスウォームプロット(Swarm Plot)は、点が重ならないように自動調整されたカテゴリ別散布図を描画するためのグラフです。この描画には seaborn.swarmplot() 関数を使用します。order パラメータに明示的な順序(カテゴリ名のリスト)を渡すことで、特定の列を基準とした表示順序を自由に制御できます。 データセットの準備 ここでは、CSVファイル「Cricketers2.csv」の形式で保存されたデータセットを使用します。 必要なライブラリのインポート import seaborn as sb import pandas as pd import matplot

  2. 【Python】Seabornのバイオリンプロットでorderパラメータにより表示順序を制御する方法

    Seabornのバイオリンプロット(Violin Plot)は、箱ひげ図とカーネル密度推定を組み合わせた可視化手法です。この描画には seaborn.violinplot() 関数を使用します。カテゴリの表示順序を制御したい場合は、order パラメータに明示的な順序を渡すことで実現できます。 ここでは、次のようなCSVファイル「Cricketers.csv」をデータセットとして使用します。 まず、必要なライブラリをインポートしましょう。 import seaborn as sb import pandas as pd import matplotlib.pyplot as plt 続いて、C