✅ 핵심 내용
데이터 시각화는 데이터를 잘 분석하기 위한 필수이다. 각종 데이터를 그 데이터 특성과 용도에 맞는 다양한 그래프를 이용해 시각화 할 수 있다. 파이썬은 데이터 시각화를 위해 Pandas, Matplotlib, Seaborn 등의 다양한 라이브러리를 제공한다.
Matplotlib 는 선그래프, 바 차트, 파이차트, 히스토그램, 박스 플롯, scatter 플롯 등의 다양한 차트와 플롯 스타일을 지원한다.
출처 : towarddatascience -Python Data Visualization with Matplotlib
Matplotlib 를 사용하기 위해서는 matplotlib.pyplot
를 import 하여 사용한다.
간단한 예로 A,B 두 사람이 일주일 간 쓴 돈을 선 그래프로 나타내었다.
xlabel
, ylabel
과 같이 여러 메소드를 통해 그래프에 추가적인 설정이 가능하다.
xlabel()
, ylabel()
: x라벨 추가, y라벨 추가title()
: 그래프 제목 추가xlim()
, ylim()
: x 좌표 범위 설정, y 좌표 범위 설정annotate()
: 주석 추가grid()
: 그리드(격자눈금) 추가또한 plt.plot()
의 인자로 x 데이터, y 데이터, 마커옵션, 색상 등의 다양한 인자들을 설정 할 수 있다.
pandas.plot 메서드 인자 | 기능 |
---|---|
label | 그래프 라벨 이름 설정 |
ax | 그래프를 그릴 matplotlib의 서브플롯 객체 |
style | 각종 스타일 설정 |
alpha | 투명도 설정 |
kind | 그래프의 종류 |
logy | Y축에 대한 로그스케일 |
xticks,yticks | x축, y축으로 사용할 값 |
xlim, ylim | x축, y축 한계 |
grid | 축의 그리드 표시 여부 |
seaborn 을 이용하면 인자들을 더 쉽게 나타낼 수 있다.
다음은 seaborn 의 예제 데이터들을 matplotlib 와 seaborn 을 이용해 시각화한 예시이다.
불러온 데이터는 결측치가 없으며 2개의 수치형 데이터(total_bill
,tip
) 와 5개의 범주형 데이터(sex
,smoker
,day
,time
,size
) 로 이루어져있음을 알 수 있다.
범주형 데이터는 주로 막대 그래프를 사용하여 수치를 시각화한다. 가로, 세로, 누적, 그룹화된 막대그래프 등 다양한 막대 그래프를 사용하여 시각화 할 수 있다.
5개의 범주형 데이터 중에서 식사 시간대(time)에 대한 tip 의 평균 값에 대한 막대 그래프를 그려보자.
수치형 데이터는 주로 산점도(scatter plot) 이나 선 그래프를 이용하여 시각화한다. 또한 도수분포표를 그래프로 나타낸 히스토그램도 자주 사용된다.
또한 색상으로 표현할 수 있는 다양한 정보를 열분포 형태의 그래픽으로 나타내는 heatmap 형식으로도 시각화가 가능하다. hearmap 를 표현하기 위해서는 pivot 해야 하는 경우가 있다.
또한 데이터간의 상관관계를 파악할때 heatmap을 유용하게 사용할 수 있다.
위에 소개한 그래프를 포함하여 수많은 형태의 그래프들이 존재한다. 따라서 사용할 데이터의 구조 및 특성을 잘 보고 적절한 형태의 그래프로 시각화하는 것이 중요하다.