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 )

다음 예에서는 서로 다른 세 팀의 농구 선수가 득점한 점수를 보여주는 다음 pandas DataFrame을 사용하여 실제로 각 방법을 사용하는 방법을 보여줍니다.

 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() 함수에 오름차순=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에서 다른 일반적인 기능을 수행하는 방법을 설명합니다.

Seaborn 상자 그림에서 이상값을 제거하는 방법
Seaborn에서 다중 열 상자 그림을 만드는 방법

의견을 추가하다

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