Seaborn의 바이올린 플롯(Violin Plot)은 박스플롯(Boxplot)과 커널 밀도 추정(Kernel Density Estimate)을 하나의 그래프로 결합하여 데이터의 분포를 시각화하는 강력한 도구입니다. 이 플롯은 seaborn.violinplot() 함수를 사용하여 손쉽게 그릴 수 있으며, 단일 열(column)만으로도 간단한 바이올린 플롯을 만들 수 있습니다.
데이터셋 준비
이번 예제에서는 크리켓 선수 정보가 담긴 CSV 파일인 Cricketers.csv를 데이터셋으로 사용합니다.
필요한 라이브러리 가져오기
먼저 Seaborn, Pandas, Matplotlib 라이브러리를 임포트합니다.
import seaborn as sb import pandas as pd import matplotlib.pyplot as plt
CSV 파일에서 데이터 불러오기
Pandas의 read_csv() 함수를 사용해 CSV 파일의 데이터를 DataFrame으로 불러옵니다.
dataFrame = pd.read_csv("C:\\Users\\amit_\\Desktop\\Cricketers.csv")단일 수평 바이올린 플롯 그리기
Weight(체중, kg) 열을 사용하여 단일 수평 바이올린 플롯을 그려보겠습니다. 열 하나만 전달하면 해당 변수의 분포가 자동으로 시각화됩니다.
sb.violinplot(dataFrame['Weight'])
전체 예제 코드
다음은 위 과정을 모두 포함한 완성된 코드입니다.
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")
# Weight(kg) 열로 단일 수평 바이올린 플롯 그리기
sb.violinplot(dataFrame['Weight'])
# x축 라벨 설정
plt.xlabel("Weight (kgs)")
# 그래프 출력
plt.show()실행 결과
위 코드를 실행하면 체중(Weight) 데이터의 분포를 보여주는 단일 수평 바이올린 플롯이 출력됩니다. 바이올린의 넓은 부분은 해당 값 구간에 데이터가 많이 분포해 있음을 의미하며, 좁은 부분은 데이터가 드물다는 것을 나타냅니다.