Computer >> 컴퓨터 >  >> 프로그래밍 >> Python

파이썬 Seaborn으로 범주형 산점도 그리기 – stripplot 함수 완벽 가이드

Seaborn은 데이터 시각화를 손쉽게 도와주는 파이썬 라이브러리입니다. 세련되게 커스터마이징된 테마와 고수준(high-level) 인터페이스를 제공하여, 복잡한 설정 없이도 아름다운 그래프를 만들 수 있습니다.

그런데 다루어야 할 변수가 범주형(categorical) 데이터라면 일반적인 산점도(scatter plot)나 히스토그램만으로는 한계가 있습니다. 이럴 때 필요한 것이 바로 범주형 산점도입니다.

stripplot과 swarmplot

Seaborn에서는 범주형 변수를 시각화할 때 stripplot, swarmplot 같은 플롯을 사용합니다.

  • stripplot: 적어도 하나의 변수가 범주형일 때 사용하며, 데이터가 축 중 하나를 따라 정렬된 형태로 표현됩니다.
  • swarmplot: stripplot과 유사하지만, 데이터 포인트가 서로 겹치지 않도록 자동으로 배치되어 분포를 더 명확하게 보여줍니다.

stripplot 함수 구문

seaborn.stripplot(x, y, data, ...)

이제 실제 예제를 통해 stripplot 함수를 사용해 데이터셋의 범주형 변수를 시각화하는 방법을 살펴보겠습니다.

예제 코드

import pandas as pd
import seaborn as sb
from matplotlib import pyplot as plt

my_df = sb.load_dataset('iris')
sb.stripplot(x = "species", y = "sepal_length", data = my_df)
plt.show()

실행 결과

파이썬 Seaborn으로 범주형 산점도 그리기 – stripplot 함수 완벽 가이드

코드 설명

  • 먼저 필요한 패키지(pandas, seaborn, matplotlib)를 임포트합니다.
  • load_dataset 함수를 사용해 seaborn에서 제공하는 iris(붓꽃) 데이터셋을 로드합니다.
  • 로드한 데이터는 데이터프레임(DataFrame) 형태로 저장됩니다.
  • stripplot 함수에 데이터프레임을 data 매개변수로 전달하고, x축에는 범주형인 species(품종), y축에는 수치형인 sepal_length(꽃받침 길이)를 지정합니다.
  • 결과 그래프를 보면 일부 데이터 포인트들이 서로 겹쳐 있는 것을 확인할 수 있습니다.
  • 최종적으로 plt.show()를 통해 화면에 그래프가 출력됩니다.

참고: 겹침 현상 줄이기

데이터 포인트가 많으면 점들이 겹쳐 분포를 파악하기 어려울 수 있습니다. 이 경우 jitter=True 옵션을 추가하면 점들이 약간 무작위로 흩어져 겹침이 줄어듭니다. 더 명확한 시각화가 필요하다면 swarmplot을 사용하는 것도 좋은 방법입니다.