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

【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

続いて、CSVファイルからPandasのDataFrameへデータを読み込みます。

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

「Role」と「Age」を使ってバイオリンプロットを描画します。orderパラメータに明示的な順序を渡すことで、「Role」の値を「Batsman」「Bowler」の順に並べて表示できます。

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

なお、orderパラメータを指定しない場合は、カテゴリがデータ内の出現順に自動的に並べられます。比較しやすい順序で表示したいときや、特定の並び順を固定したいときに、このパラメータが役立ちます。

サンプルコード

以下が完全なコード例です。

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パラメータに明示的な順序を渡して表示順を制御
sb.violinplot(x = 'Role', y = "Age", order=["Batsman", "Bowler"], data = dataFrame)

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

実行結果

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

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

  1. Python Pandas入門:Seabornで箱ひげ図の上にスウォームプロット(観測値の群れ)を重ねて描画する方法

    データ分析において、分布の全体像を把握しながら個々のデータポイントも確認したい場面は多くあります。Seabornのスウォームプロット(Swarm Plot)は、点同士が重ならないように配置されたカテゴリ別散布図を描画する機能で、seaborn.swarmplot()を使用して実現できます。 本記事では、seaborn.boxplot()で描いた箱ひげ図の上に、このスウォームプロットを重ねて表示する方法を解説します。箱ひげ図だけでは見えない外れ値やデータの偏りを、視覚的に把握できるようになります。 前提条件と準備 まず、必要なライブラリをインポートします。Seaborn、Pandas、NumPy

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

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