Python・Seabornで単一の水平スウォームプロットを描画する方法
Seabornのスウォームプロットとは
Seabornのスウォームプロット(Swarm Plot)は、データポイント同士が重ならないように自動調整されたカテゴリ別散布図を描画するための手法です。各点の位置がずらされるため、同じ値を持つデータの個数や分布の密度まで直感的に把握できるのが特徴です。この描画には seaborn.swarmplot() 関数を使用します。
本記事では、CSVファイル「Cricketers2.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\\Cricketers2.csv")
スウォームプロットを描画する
「Matches(試合数)」列をx軸に指定してスウォームプロットを描画します。数値データのみをxに渡すと、横方向に広がる単一のスウォームとして表示されます。
sb.swarmplot(x = dataFrame["Matches"])
サンプルコード全体
import seaborn as sb
import pandas as pd
import matplotlib.pyplot as plt
# CSVファイルからPandas DataFrameへデータを読み込む
dataFrame = pd.read_csv("C:\\Users\\amit_\\Desktop\\Cricketers2.csv")
# テーマの設定
sb.set_theme(style="whitegrid")
# Matches列でスウォームプロットを描画
sb.swarmplot(x = dataFrame["Matches"])
# グラフを表示
plt.show()
実行結果
上記のコードを実行すると、白色グリッドの背景に「Matches」列の分布を示した単一の水平スウォームプロットが出力されます。点が重ならず並ぶため、試合数ごとの選手の偏りがひと目でわかります。

まとめ
Seabornの swarmplot() を使えば、わずか数行のコードで重なりのない美しい散布図を描画できます。縦方向に描きたい場合はy引数に列を指定するだけで切り替え可能です。箱ひげ図やバイオリンプロットと組み合わせれば、分布の形状と実際のデータポイントを同時に確認でき、より深いデータ分析につながります。
-
Python Pandas入門:Seabornで箱ひげ図の上にスウォームプロット(観測値の群れ)を重ねて描画する方法
データ分析において、分布の全体像を把握しながら個々のデータポイントも確認したい場面は多くあります。Seabornのスウォームプロット(Swarm Plot)は、点同士が重ならないように配置されたカテゴリ別散布図を描画する機能で、seaborn.swarmplot()を使用して実現できます。 本記事では、seaborn.boxplot()で描いた箱ひげ図の上に、このスウォームプロットを重ねて表示する方法を解説します。箱ひげ図だけでは見えない外れ値やデータの偏りを、視覚的に把握できるようになります。 前提条件と準備 まず、必要なライブラリをインポートします。Seaborn、Pandas、NumPy
-
Seabornのswarmplotでorderパラメータを使って表示順序を制御する方法
Seabornのスウォームプロット(Swarm Plot)は、点が重ならないように自動調整されたカテゴリ別散布図を描画するためのグラフです。この描画には seaborn.swarmplot() 関数を使用します。order パラメータに明示的な順序(カテゴリ名のリスト)を渡すことで、特定の列を基準とした表示順序を自由に制御できます。 データセットの準備 ここでは、CSVファイル「Cricketers2.csv」の形式で保存されたデータセットを使用します。 必要なライブラリのインポート import seaborn as sb import pandas as pd import matplot