데이터 시각화를 위해 Seaborn 라이브러리를 사용합니다. Seaborn은 데이터 시각화를 돕는 파이썬 라이브러리로, 다양한 커스터마이징 테마와 고수준(high-level) 인터페이스를 제공합니다. 이 인터페이스를 활용하면 데이터의 종류를 자유롭게 조정하고, 특정 필터를 적용했을 때 데이터가 어떻게 표현되는지 세밀하게 제어할 수 있습니다.
stripplot의 한계와 지터(Jitter) 매개변수
Seaborn에서 변수 중 하나라도 범주형(categorical)일 때는 stripplot 함수를 사용합니다. 이 함수는 데이터를 축 하나를 따라 정렬된 형태로 표현하지만, 단점으로 일부 데이터 포인트들이 서로 겹쳐 보일 수 있습니다. 이러한 겹침 현상을 방지하기 위해 지터(jitter) 매개변수를 사용합니다. 지터는 데이터셋에 약간의 무작위 노이즈(random noise)를 추가하여, 범주형 축을 따라 값들의 위치를 조정해 주는 역할을 합니다.
대안: swarmplot 사용하기
하지만 지터 매개변수 대신 swarmplot 함수를 사용하면 더 깔끔한 범주형 산점도를 얻을 수 있습니다. swarmplot은 각 데이터 포인트가 서로 겹치지 않도록 자동으로 위치를 조정해 주기 때문에, 지터로 인한 무작위성 없이도 모든 관측값을 명확하게 확인할 수 있다는 장점이 있습니다.
swarmplot 함수 문법
seaborn.swarmplot(x, y, data, ...)
실제 사용 예시는 아래와 같습니다.
예제 코드
import pandas as pd
import seaborn as sb
from matplotlib import pyplot as plt
my_df = sb.load_dataset('iris')
sb.swarmplot(x = "species", y = "petal_length", data = my_df)
plt.show()출력 결과

코드 설명
- 필요한 패키지들(pandas, seaborn, matplotlib)을 임포트합니다.
- 입력 데이터는 scikit-learn 라이브러리에서 제공되는 'iris' 데이터셋입니다.
load_dataset함수를 사용하여 붓꽃(iris) 데이터를 불러옵니다.- 불러온 데이터는 데이터프레임(dataframe) 형태로 저장됩니다.
swarmplot함수에 데이터프레임을 매개변수로 전달하고, x축에는 'species'(품종), y축에는 'petal_length'(꽃잎 길이) 값을 지정합니다.- 이렇게 생성된 산점도는
plt.show()를 통해 화면에 표시됩니다.
결과적으로 species별로 petal_length 값의 분포를 겹침 없이 한눈에 파악할 수 있으며, 지터 매개변수 없이도 가독성 높은 범주형 산점도를 완성할 수 있습니다.