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의 정렬 막대

회사의 다양한 직원의 총 매출에 대한 정보가 포함된 다음과 같은 pandas DataFrame이 있다고 가정합니다.

 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() 함수에서 climbing=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의 정렬 막대

회사의 다양한 직원의 총 매출에 대한 정보가 포함된 다음과 같은 pandas DataFrame이 있다고 가정합니다.

 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 막대 그래프에서 막대 색상을 설정하는 방법

의견을 추가하다

이메일 주소는 공개되지 않습니다. 필수 필드는 *로 표시됩니다