5. Pandas 차트 그리기 - matplotlib를 통한 차트 그리기

 

 

Pandas 차트 그리기

 

 

1. matplotlib를 통한 차트 그리기

 

matplotlib는 python에서 다양한 시각화 기술을 구현하는 라이브러리이다.

출처 : https://matplotlib.org/gallery/index.html

 

그 중에서 자주 사용하는 그래프를 알아본다.

 

import pandas as pd
import numpy as np
import matplotlib.pyplot as plt


data = pd.read_excel('datasample.xlsx')


# 차트 윈도우 타이틀
plt.figure(num='View matplot Chart')

 

# 차트 글꼴
plt.rcParams.update({'font.size': 12})
plt.rcParams.update({'font.family': 'batang'})

 

# 차트 제목
plt.title("Data Analysis Chart")

 

# x, y 축 제목
plt.xlabel("Count")
plt.ylabel("Data")

 

# plt 적용, 한개의 화면에서 나타나도록 하기 위한 axes 설정
ax = plt.gca()


# kind 차트 종류 - bar, line. scatter 등
data.plot(kind='bar', ax=ax)


# 차트 보여주기
plt.show()

 

 

 

 

 

2. 차트 종류 선택하기

 

1) bar 차트

 

형식

DataFrame.plot(kind='bar', x=column, y=columns, color=color, ax=None, stacked=False)

 

x, y 값은 옵션이며, 값을 선택하지 않을 경우, DataFrame의 모든 데이터에서 index를 x축으로 하고, 나머지를 y축으로 인식한다. 숫자가 아닌 경우는 그래프로 나타내지 않는다.

 

x 에 DataFrame에 없는 column 이름을 넣으면 keyError가 난다.

그리고 x에 들어갈 column은 y에 없어야 한다.

만약 y = ['A','B','C'] 이고, x = 'A'로 설정하면 keyError가 난다.

 

color는 설정하지 않으면 자동으로 다른 색으로 나타난다.

 

stacked = False : 각 column의 그래프가 따로따로 나타남

stacked = True : 각 column의 그래프의 값이 누적되어 나타남

 

 

 

 

 

2) line 차트

 

형식

DataFrame.plot(kind='line', x=column, y=columns, color=color, ax=None)

 

x, y 값은 옵션이며, 값을 선택하지 않을 경우, DataFrame의 모든 데이터에서 index를 x축으로 하고, 나머지를 y축으로 인식한다. 숫자가 아닌 경우는 그래프로 나타내지 않는다.

 

x 에 DataFrame에 없는 column 이름을 넣으면 keyError가 난다.

그리고 x에 들어갈 column은 y에 없어야 한다.

만약 y = ['A','B','C'] 이고, x = 'A'로 설정하면 keyError가 난다.

 

bar차트와 다른점은 column을 한개씩 추가하여 하나의 그래프에 그려도 된다. 사실 bar차트도 한 column씩 추가하여도 되지만 겹쳐서 보이게 된다. 

 

따라서 아래의 코드들은 다 같은 그래프를 그려준다.

 

x 설정

columns = ['국어','수학','영어','과학']

data.plot(kind='line', x='번호', y=columns, ax=ax)

 

x 미설정 - 자동으로 첫번째 column을 x로 설정해줌

columns = ['국어','수학','영어','과학']

data.plot(kind='line', y=columns, ax=ax)

 

y 값을 다 따로 한개씩 추가해도 됨.

data.plot(kind='line', x='번호', y='국어', ax=ax)
data.plot(kind='line', x='번호', y='영어', ax=ax)
data.plot(kind='line', x='번호', y='수학', ax=ax)
data.plot(kind='line', x='번호', y='과학', ax=ax)

 

 

 

 

3) scatter 차트

 

형식

DataFrame.plot(kind='scatter', x=column, y=columns, color=color, ax=None)

 

x, y 값은 필수이며, x의 size와 y의 size가 같아야 한다.

따라서 x축 1개와 y축 1개를 하나씩 매치시켜서 그래프로 표현하는 방법을 사용한다.

 

x와 y의 값이 같아도 Error는 발생하지 않으나, 그래프의 모양이 깨어진다. 따라서 같은 값은 사용하지 않는 것이 좋다.

 

color = ['#209FDF','#99CA53','#F6A625', '#6D5FD5','#BF593E', '#FF0000', '#0000FF']

 

data.plot(kind='scatter', x='번호', y='국어', color=color[0], ax=ax)
data.plot(kind='scatter', x='번호', y='영어', color=color[1], ax=ax)
data.plot(kind='scatter', x='번호', y='수학', color=color[2], ax=ax)
data.plot(kind='scatter', x='번호', y='과학', color=color[3], ax=ax)

 

 

 

 

 

여러 개의 차트는 중복하여 나타낼 수 있다.

 

 

 

 

 

 

'Pandas' 카테고리의 다른 글

5. DataFrame 데이터 계산  (0) 2020.05.18
4. DataFrame 데이터 조작  (0) 2020.05.18
3. DataFrame 데이터 보기  (0) 2020.05.18
2. Pandas 데이터 생성  (0) 2020.05.18
1. Pandas - Data Analysis를 위한 모듈 설치  (0) 2020.05.18

+ Recent posts