Python Pandas入門:Seabornで水平方向のバイオリンプロットを作成し、観測値の表示順序を明示的に並べ替える方法
Seabornのバイオリンプロット(Violin Plot)は、箱ひげ図(ボックスプロット)とカーネル密度推定(KDE)を組み合わせたグラフを描画するための可視化手法です。この記事では、seaborn.violinplot() メソッドを使用して水平方向のバイオリンプロットを作成する方法を解説します。
カテゴリの表示順序は order パラメータで明示的に指定でき、観測値の表示方法は inner パラメータで制御できます。
使用するデータセット
ここでは、クリケット選手の情報を格納したCSVファイル「Cricketers.csv」をデータセットとして使用します。ファイルには選手の役割(Role)や年齢(Age)などの列が含まれています。
必要なライブラリのインポート
まず、Seaborn・Pandas・Matplotlibという3つのライブラリをインポートします。
import seaborn as sb
import pandas as pd
import matplotlib.pyplot as plt
CSVファイルからデータを読み込む
Pandasの read_csv() 関数を使って、CSVファイルの内容をDataFrameに読み込みます。
dataFrame = pd.read_csv("C:\\Users\\amit_\\Desktop\\Cricketers.csv")
水平方向のバイオリンプロットを描画する
x軸に「Age(年齢)」列、y軸に「Role(役割)」列を指定することで、水平方向のバイオリンプロットを作成します。order パラメータにカテゴリ名のリストを渡すことで表示順序を制御し、inner="stick" を指定することで各観測値をスティック状に表示します。
sb.violinplot(x = 'Age', y = "Role", order=["Batsman", "Bowler"],
data = dataFrame, inner="stick")
この例では、「Batsman(バッツマン)」→「Bowler(ボウラー)」の順にカテゴリが左から並べて表示されます。
完全なサンプルコード
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パラメータで順序を指定し、innerパラメータで観測値を表示
sb.violinplot(x = 'Age', y = "Role", order=["Batsman", "Bowler"], data = dataFrame, inner="stick")
# グラフを表示
plt.show()
実行結果
上記のコードを実行すると、年齢の分布がバッツマンとボウラーの2つのカテゴリごとに水平方向のバイオリン型で描画され、内側に個々の観測値がスティックとして表示されたグラフが出力されます。

-
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