수평 점 플롯(Horizontal Point Plot)은 데이터셋의 열, 즉 x축과 y축에 지정한 값들을 기준으로 그려지는 시각화 기법입니다. Seaborn의 점 플롯(Point Plot)은 산점도(scatter plot) 기호를 활용하여 각 범주별 점 추정치(point estimate)와 신뢰 구간(confidence interval)을 한눈에 보여 줍니다. 이러한 플롯은 seaborn.pointplot() 함수를 사용하면 손쉽게 그릴 수 있습니다.
이번 글에서는 CSV 파일로 저장된 크리켓 선수 데이터셋(Cricketers.csv)을 활용해 수평 점 플롯을 그리는 과정을 단계별로 살펴보겠습니다.
1단계: 필요한 라이브러리 불러오기
가장 먼저 시각화와 데이터 처리에 필요한 라이브러리를 임포트합니다.
import seaborn as sb import pandas as pd import matplotlib.pyplot as plt
2단계: CSV 파일에서 데이터 불러오기
pd.read_csv() 함수를 사용하여 CSV 파일의 데이터를 Pandas DataFrame으로 읽어 옵니다.
dataFrame = pd.read_csv("C:\Users\amit_\Desktop\Cricketers.csv")
3단계: pointplot()으로 수평 점 플롯 그리기
pointplot() 함수에 x축에는 'Age'(나이), y축에는 'Academy'(아카데미) 열을 지정하여 수평 방향의 점 플롯을 생성합니다.
sb.pointplot(x = 'Age', y = '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\Cricketers.csv")
sb.set_theme(style="darkgrid")
# 수평 점 플롯 그리기
sb.pointplot(x = 'Age', y = 'Academy', data = dataFrame)
# 화면에 표시
plt.show()
실행 결과
위 코드를 실행하면 아카데미별 나이 분포를 비교할 수 있는 수평 점 플롯이 출력됩니다. 각 점은 해당 범주의 평균 추정치를 나타내며, 점 주변의 선은 신뢰 구간을 의미합니다.

알아두면 좋은 팁
pointplot()은 기본적으로 각 범주별 평균값을 점으로 표시하고, 부트스트래핑(bootstrapping) 기법으로 계산한 신뢰 구간을 선으로 함께 나타냅니다. ci=None 옵션을 추가하면 신뢰 구간을 제거할 수 있고, dodge=True 옵션을 사용하면 여러 변수를 나란히 비교할 수 있습니다. 또한 join=False로 설정하면 점 사이를 연결하는 선을 없애고 점만 표시할 수 있어 데이터 해석이 더욱 명확해집니다.