Seaborn barplot でバーの順序を変更する方法


次の方法を使用して、海洋プロット内のバーの順序を変更できます。

方法 1: 生データから作成された Barplot のバーを並べ替える

 sns. barplot (x=' xvar ', y=' yvar ', data=df, order=df. sort_values (' yvar '). xvar )

方法 2: 集計データから作成された Barplot のバーを並べ替える

 sns. barplot (x=' xvar ', y=' yvar ', data=df, order=df_agg[' xvar ']

次の例は、各メソッドを実際に使用する方法を示しています。

例 1: 生データから作成された Barplot の並べ替えバー

会社のさまざまな従業員による総売上高に関する情報を含む次のパンダ データフレームがあるとします。

 import pandas as pd

#createDataFrame
df = pd. DataFrame ({' employee ': ['Andy', 'Bert', 'Chad', 'Doug', 'Eric', 'Frank'],
                   ' sales ': [22, 14, 9, 7, 29, 20]})

#view DataFrame
print (df)

  employee sales
0 Andy 22
1 Bert 14
2 Chad 9
3 Doug 7
4 Eric 29
5 Frank 20

次の構文を使用して、バーが売上高に基づいて昇順に並べ替えられたバープロットを作成できます。

 import seaborn as sns

#create barplot with bars sorted by sales values ascending
sns. barplot (x=' employee ', y=' sales ', data=df, order=df. sort_values (' sales '). employee )

バーを降順に並べ替えるには、 sort_values()関数でascending=Falseを使用するだけです。

 import seaborn as sns

#create barplot with bars sorted by sales values descending
sns. barplot (x=' employee ', y=' sales ', data=df,
            order=df. sort_values (' sales ', ascending= False ). employee ) 

例 2: 集計データから作成された Barplot の並べ替えバー

会社のさまざまな従業員による総売上高に関する情報を含む次のパンダ データフレームがあるとします。

 import pandas as pd

#createDataFrame
df = pd. DataFrame ({' employee ': ['A', 'A', 'A', 'B', 'B', 'B', 'C', 'C', 'C'],
                   ' sales ': [24, 20, 25, 14, 19, 13, 30, 35, 28]})

#view DataFrame
print (df)

  employee sales
0 to 24
1 to 20
2 to 25
3 B 14
4 B 19
5 B 13
6 C 30
7 C 35
8 C 28

次の構文を使用して、従業員ごとにグループ化された平均売上高を計算できます。

 #calculate mean sales by employee
df_agg = df. groupby ([' employee '])[' sales ']. mean (). reset_index (). sort_values (' sales ')

#view aggregated data
print (df_agg)

  employee sales
1 B 15.333333
0 to 23.000000
2 C 31.000000

次に、次の構文を使用して、従業員あたりの平均売上を棒グラフで昇順に表示する棒グラフを Seaborn で作成できます。

 import seaborn as sns

#create barplot with bars ordered in ascending order by mean sales
sns. barplot (x=' employee ', y=' sales ', data=df,
            order=df_agg[' employee '], errorbar=(' ci ', False )) 

X 軸には従業員の名前が表示され、Y 軸には各従業員の平均売上高が表示されます。

追加リソース

次のチュートリアルでは、seaborn で他の一般的な機能を実行する方法を説明します。

Seaborn Barplotで値を表示する方法
Seaborn でグループ化されたバープロットを作成する方法
Seaborn バープロットのバーの色を設定する方法

コメントを追加する

メールアドレスが公開されることはありません。 が付いている欄は必須項目です