Seaborn で箱ひげ図を x 軸に並べる方法
次の方法を使用して、Seaborn の X 軸に沿った箱ひげ図の順序を変更できます。
方法 1: カスタム順序を使用して箱ひげ図を並べ替える
sns. boxplot (x=' group_var ', y=' values_var ', data=df, order=[' A ',' B ',' C '])
方法 2: メトリックを使用して箱ひげ図を並べ替える
group_means=df. groupby ([' group_var '])[' values_var ']. mean (). sort_values (ascending= True ) sns. boxplot (x=' group_var ', y=' values_var ', data=df, order=group_means. index )
次の例は、3 つの異なるチームのバスケットボール選手が獲得したポイントを示す次のパンダ データフレームで各メソッドを実際に使用する方法を示しています。
import pandas as pd #createDataFrame df = pd. DataFrame ({' team ': ['A', 'A', 'A', 'A', 'A', 'B', 'B', 'B', 'B', 'B', 'C', 'C', 'C', 'C', 'C'], ' points ': [3, 4, 6, 8, 9, 10, 13, 16, 18, 20, 8, 9, 12, 13, 15]}) #view head of DataFrame print ( df.head ()) team points 0 to 3 1 to 4 2 to 6 3 to 8 4 to 9
例 1: カスタムオーダーを使用して箱ひげ図を注文する
次のコードは、箱ひげ図を作成して各チームのポイントの分布を視覚化し、チーム名に基づいて箱ひげ図を C、A、B の順序でランク付けする方法を示しています。
import seaborn as sns
#create boxplots with custom order
sns. boxplot (x=' team ', y=' points ', data=df, order=[' C ', ' A ', ' B '])
箱ひげ図は、指定した順序どおりに x 軸に沿って並べられていることに注意してください。
例 2: メトリックを使用した箱ひげ図の順序付け
次のコードは、箱ひげ図を作成して各チームのポイントの分布を視覚化し、チームごとの平均得点に基づいて箱ひげ図を昇順でランク付けする方法を示しています。
import seaborn as sns
#calculate mean points by team
mean_by_team = df. groupby ([' team '])[' points ']. mean (). sort_values (ascending= True )
#create boxplots ordered by mean points (ascending)
sns. boxplot (x=' team ', y=' points ', data=df, order=mean_by_team. index )
箱ひげ図は、チームごとの平均ポイント値に基づいて x 軸に沿って昇順に並べられていることに注意してください。
箱ひげ図を降順で表示するには、 sort_values()関数でascending=Falseを指定するだけです。
import seaborn as sns
#calculate mean points by team
mean_by_team = df. groupby ([' team '])[' points ']. mean (). sort_values (ascending= False )
#create boxplots ordered by mean points (descending)
sns. boxplot (x=' team ', y=' points ', data=df, order=mean_by_team. index )
箱ひげ図は、チームごとの平均ポイント値に基づいて降順で X 軸に沿って並べられるようになりました。
注: 別のメトリクス (中央値など) に基づいて箱ひげ図を並べ替えるには、上記のコードのgroupby()関数の後にそのメトリクスを指定するだけです。
追加リソース
次のチュートリアルでは、seaborn で他の一般的な機能を実行する方法を説明します。