Python Pandas入門:Seabornでバイオリンプロットを描く方法|orderパラメータによる順序指定と観測値のスティック表示
Seabornのバイオリンプロット(Violin Plot)は、箱ひげ図(ボックスプロット)とカーネル密度推定(KDE)を1つのグラフに組み合わせて可視化するための機能です。描画には seaborn.violinplot() 関数を使用します。また、inner パラメータに "stick" を指定すると、個々の観測値を細い棒(スティック)としてバイオリン内部に表示でき、データの分布と実測値を同時に確認できます。
使用するデータセット
ここでは、CSVファイル形式の以下のデータセットを使用します − Cricketers.csv
必要なライブラリのインポート
まず、Seaborn・Pandas・Matplotlibの各ライブラリをインポートします −
import seaborn as sb import pandas as pd import matplotlib.pyplot as plt
CSVファイルからデータを読み込む
pd.read_csv() を使って、CSVファイルからPandasのDataFrameへデータを読み込みます −
dataFrame = pd.read_csv("C:\\Users\\amit_\\Desktop\\Cricketers.csv")
バイオリンプロットの描画と順序の制御
「Academy」(所属アカデミー)と「Age」(年齢)を軸にバイオリンプロットを描きます。order パラメータにカテゴリ名のリストを渡すことで、X軸の表示順序を明示的に制御できます。ここでは「Western Australia」「Tasmania」「South Australia」の順に並べています。さらに、inner="stick" を指定して、観測値を棒として表示します −
sb.violinplot(x = 'Academy', y = "Age", order=["Western Australia", "Tasmania", "South Australia"], data = dataFrame, inner="stick")
なお、inner パラメータには "box"(箱ひげ図)、"quartile"(四分位点)、"point"(点)、"stick"(棒)などを指定でき、用途に応じて使い分けることができます。
完全なコード例
以下が一連の流れをまとめた完全なコードです −
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")
# 「Academy」と「Age」でバイオリンプロットを描画
# orderパラメータに明示的な順序を渡し、「Academy」に基づいて表示順を制御
# innerパラメータに "stick" を指定して観測値を棒として表示
sb.violinplot(x = 'Academy', y = "Age", order=["Western Australia", "Tasmania", "South Australia"], data = dataFrame, inner="stick")
# グラフを表示
plt.show()
出力結果
上記のコードを実行すると、次のようなバイオリンプロットが出力されます。各アカデミーの年齢分布の形状に加えて、個々の選手の観測値がスティック状に表示されていることが確認できます −

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