Pandas 차트 그리기 - matplotlib를 통한 차트 그리기
페이지정보
글쓴이 관리자 조회 36,389 조회 날짜 20-03-06 17:59 / U:20-03-13 16:15내용
Pandas 차트 그리기
1. matplotlib를 통한 차트 그리기
matplotlib는 python에서 다양한 시각화 기술을 구현하는 라이브러리이다.
출처 : https://matplotlib.org/gallery/index.html
그 중에서 자주 사용하는 그래프를 알아본다.
import pandas as pd
# 차트 글꼴
# 차트 제목
# x, y 축 제목
# plt 적용, 한개의 화면에서 나타나도록 하기 위한 axes 설정
|
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) |
여러 개의 차트는 중복하여 나타낼 수 있다.
댓글목록
댓글이 없습니다