데이터 시각화에서 포인트 플롯(Point Plot)은 범주형 변수에 따른 수치형 변수의 평균 변화를 점과 선으로 표현하는 강력한 도구입니다. 이 글에서는 Python의 Seaborn 라이브러리에서 제공하는 seaborn.pointplot() 함수를 사용해 포인트 플롯을 만드는 방법을 단계별로 알아보겠습니다.
1. 필요한 라이브러리 임포트
먼저 시각화와 데이터 처리에 필요한 세 가지 라이브러리를 임포트합니다.
import seaborn as sb import pandas as pd import matplotlib.pyplot as plt
2. CSV 파일에서 데이터 불러오기
이번 예제에서는 크리켓 선수 정보가 담긴 Cricketers.csv 파일을 사용합니다. pd.read_csv()를 이용해 CSV 파일의 데이터를 Pandas DataFrame으로 불러옵니다.
dataFrame = pd.read_csv("C:\\Users\\amit_\\Desktop\\Cricketers.csv")3. 기본 포인트 플롯 그리기
Age(나이) 열을 x축으로, Weight(체중) 열을 y축으로 지정하여 포인트 플롯을 그려보겠습니다.
sb.pointplot(x=dataFrame["Age"], y=dataFrame["Weight"], 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\\Cricketers.csv")
# Age와 Weight 열로 포인트 플롯 그리기
sb.pointplot(x=dataFrame["Age"], y=dataFrame["Weight"], data=dataFrame)
# y축 라벨 설정
plt.ylabel("Weight (kgs)")
# 그래프 출력
plt.show()실행 결과
위 코드를 실행하면 나이대별 평균 체중의 변화를 점과 선으로 보여주는 포인트 플롯이 출력됩니다.
4. hue 파라미터로 범주 구분하기
hue 파라미터를 활용하면 특정 범주형 열을 기준으로 데이터를 나누어 비교할 수 있습니다. 이번 예제에서는 선수의 Role(역할) 열을 hue로 지정해 보겠습니다.
import seaborn as sb
import pandas as pd
import matplotlib.pyplot as plt
# CSV 파일에서 데이터를 Pandas DataFrame으로 불러오기
dataFrame = pd.read_csv("C:\\Users\\amit_\\Desktop\\Cricketers.csv")
# Age와 Weight 열로 포인트 플롯 그리기
# hue 파라미터를 Role 열로 설정
sb.pointplot(dataFrame['Age'], dataFrame['Weight'], hue=dataFrame['Role'])
# y축 라벨 설정
plt.ylabel("Weight (kgs)")
# 그래프 출력
plt.show()실행 결과
hue를 적용하면 역할(Role)별로 서로 다른 색상의 포인트 플롯이 함께 표시되어, 나이대에 따른 체중 변화를 범주 간에 손쉽게 비교할 수 있습니다.
마무리
Seaborn의 pointplot()은 범주형 데이터 간의 평균값 추세를 직관적으로 보여주는 유용한 시각화 도구입니다. hue 파라미터를 추가하면 여러 그룹을 한눈에 비교할 수 있어 탐색적 데이터 분석(EDA)에 특히 효과적입니다.