반응형
1. 데이터 시각화가 필요한 이유?
데이터 분석 시 raw와 column 수가 많은 수백 차원의 데이터의 경우, 데이터를 파악하고 이해하기가 쉽지 않습니다.
따라서, 인간이 인지하고 이해하기 쉬운 수준의 차원으로 줄여 데이터를 파악하는 것이 필요합니다.
또한, 데이터를 시각적으로 보는 것이 더 기억에 오래 남고 이해하기 쉽기 때문에 방대한 양의 데이터를 시각화 하는 것이 필요합니다.
2. Python의 데이터 시각화 방법
파이썬을 이용해 데이터를 시각화 하는 라이브러리의 종류와, 라이브러리 별 사용 예제를 확인 해보겠습니다.
matplotlib
파이썬에서 데이터 시각화에 가장 많이 사용되는 라이브러리로 알려져 있고, 데이터 시각화의 가장 기초와 기본이 되는 라이브러리입니다.
※API reference: https://matplotlib.org/stable/api/index.html
설치 및 버전 출력
pip install matplotlib
import matplotlib
import matplotlib.pyplot as plt
#jupyter notebook에서 이미지를 표시하게 하는 매직 함수(jupyter만 해당)
%matplotlib inline
matplotlib.__version__
막대그래프
import numpy as np
data = {'Jeju': 31, 'Modlives': 29, 'France': 18, 'Switzerland': 22}
order = np.arange(data.__len__())
# bar graph의 데이터를 data의 value값으로 표시하도록 설정
plt.bar(order, data.values())
# bar graph의 x축을 data의 key값으로 표시하도록 설정
plt.xticks(order, data.keys())
plt.show()
히스토그램
# 0.5 ~ 20.0 사이의 임의의 숫자 50개 생성
rand_floats = np.random.uniform(low=0.5, high=20.0, size=(50))
print(rand_floats)
# rand_floats 데이터를 히스토그램으로 표현
# x축에 생성된 숫자를, y축엔 해당 숫자의 개수를 표현
plt.hist(rand_floats)
plt.show()
점 그래프
# 1.0 ~ 100.0 사이의 임의의 숫자 4개 생성
rand_floats = np.random.uniform(low=1.0, high=100.0, size=(4))
print(rand_floats)
# rand_floats 값들을 산점도(scatter plot)로 표현하도록 설정
plt.scatter(order, rand_floats)
# 산점도의 x축을 data의 key값으로 설정
plt.xticks(order, data.keys())
plt.show()
선 그래프
# 1.0 ~ 100.0 사이의 임의의 숫자 10개 생성
rand_floats = np.random.uniform(low=1.0, high=100.0, size=(10))
print(rand_floats)
order = np.arange(10)
key_list = ['2013', '2014', '2015', '2016', '2017', '2018', '2019', '2020', '2021', '2022']
# rand_floats 값들을 라인 플롯으로 그리도록 설정
plt.plot(order, rand_floats)
# 라인 플롯의 x축을 key_list 데이터로 설정
plt.xticks(order, key_list)
plt.show()
파이 차트
# pie 차트
data = {'Jeju': 31, 'Modlives': 29, 'France': 18, 'Switzerland': 22}
# data의 key와 value를 pie 차트로 그리도록 설정
plt.pie(data.values(), labels=data.keys(), autopct='%.1f%%')
plt.show()
'Development. > Data Visualization' 카테고리의 다른 글
[Data Visualization] python 데이터 시각화 - Folium (0) | 2022.03.15 |
---|---|
[Data Visualization] Python 데이터 시각화 - Seaborn (0) | 2022.03.14 |