Seaborn의 스웜 플롯(Swarm Plot)은 점들이 서로 겹치지 않도록 배치되는 범주형 산점도를 그리는 시각화 기법입니다. 이를 위해 seaborn.swarmplot() 함수를 사용하며, 두 개의 범주형 변수를 기준으로 스웜을 그룹화하려면 x, y, 그리고 hue 매개변수에 해당 변수들을 지정하면 됩니다.
데이터셋 준비
이번 예제에서는 CSV 파일 형태의 다음 데이터셋을 사용합니다: Cricketers2.csv
1. 필요한 라이브러리 가져오기
먼저 필요한 라이브러리를 임포트합니다.
import seaborn as sb import pandas as pd import matplotlib.pyplot as plt
2. CSV 파일에서 데이터 로드하기
Pandas의 read_csv()를 사용해 CSV 파일의 데이터를 DataFrame으로 불러옵니다.
dataFrame = pd.read_csv("C:\\Users\\amit_\\Desktop\\Cricketers2.csv")3. 두 개의 범주형 변수로 스웜 그룹화하기
x축에는 'Role'(역할), y축에는 'Matches'(경기 수)를 지정하고, hue 매개변수에 'Academy'(아카데미)를 설정하여 세 번째 범주형 변수까지 한 번에 구분할 수 있습니다.
sb.swarmplot(x = "Role", y = "Matches", hue = "Academy", data = dataFrame)
전체 예제 코드
다음은 지금까지의 내용을 모두 포함한 완성된 코드입니다.
import seaborn as sb
import pandas as pd
import matplotlib.pyplot as plt
# CSV 파일에서 데이터를 Pandas DataFrame으로 불러오기
dataFrame = pd.read_csv("C:\\Users\\amit_\\Desktop\\Cricketers2.csv")
# 테마 설정
sb.set_theme(style="whitegrid")
# 두 개의 범주형 변수를 기준으로 스웜 플롯 그룹화
sb.swarmplot(x = "Role", y = "Matches", hue = "Academy", data = dataFrame)
# 그래프 표시
plt.show()실행 결과
위 코드를 실행하면 'Role'별로 경기 수(Matches)가 표시되고, 색상으로 'Academy'가 구분된 스웜 플롯이 출력됩니다. 이를 통해 각 역할 그룹 내에서 아카데미별 분포를 직관적으로 비교할 수 있습니다.