Seaborn의 스웜 플롯(Swarm Plot)은 서로 겹치지 않는 점들을 사용해 범주형 산점도(categorical scatterplot)를 그리는 데 활용되는 시각화 기법입니다. 이때 seaborn.swarmplot() 함수를 사용하며, order 매개변수에 원하는 카테고리 목록을 명시적으로 전달하면 데이터가 표시되는 순서를 자유롭게 제어할 수 있습니다.
데이터 준비
이번 예제에서는 CSV 파일 형태의 데이터셋인 Cricketers2.csv를 사용합니다. 먼저 필요한 라이브러리를 가져옵니다.
import seaborn as sb import pandas as pd import matplotlib.pyplot as plt
CSV 파일을 Pandas DataFrame으로 불러오기
pd.read_csv()를 사용해 CSV 파일의 데이터를 Pandas DataFrame으로 로드합니다.
dataFrame = pd.read_csv("C:\\Users\\amit_\\Desktop\\Cricketers2.csv")명시적 순서를 지정하여 스웜 플롯 그리기
x축에는 Academy(아카데미), y축에는 Matches(경기 수)를 배치하여 스웜 플롯을 그려 보겠습니다. order 매개변수에 리스트 형태로 카테고리 이름을 전달하면, 해당 순서대로 x축 범주가 정렬됩니다.
sb.swarmplot(x = "Academy", y = "Matches", order = ["Victoria", "Western Australia", "South Australia"])
전체 예제 코드
다음은 위 내용을 모두 포함한 완성된 코드입니다.
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")
# Academy와 Matches를 기준으로 스웜 플롯을 그립니다
# order 매개변수에 명시적 순서를 전달하여 "Academy" 열을 기준으로 순서를 제어합니다
sb.swarmplot(x = "Academy", y = "Matches", order = ["Victoria", "Western Australia", "South Australia"], data= dataFrame)
# 그래프 출력
plt.show()실행 결과
위 코드를 실행하면 x축이 Victoria → Western Australia → South Australia 순서로 정렬된 스웜 플롯이 화면에 표시됩니다. 이처럼 order 매개변수를 활용하면 기본 알파벳 순서 대신 원하는 기준으로 범주형 데이터의 표시 순서를 손쉽게 조정할 수 있습니다.