Pandas 차트 그리기 - matplotlib를 통한 차트 그리기 > Data Analysis and Machine Learning

본문 바로가기

사이트 내 전체검색

이전으로Data Analysis and Machine Learning

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

페이지정보

글쓴이 관리자 조회 36,389 조회 날짜 20-03-06 17:59 / U:20-03-13 16:15
댓글 0댓글

SNS 공유

  • 트위터로 보내기
  • 페이스북으로 보내기
  • 구글플러스로 보내기
  • 카카오톡으로 보내기

내용

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()

 

 

2921044682_1583542695.2523.png

 

 

 

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의 그래프의 값이 누적되어 나타남

 

2921044682_1584131843.759.png

 

2921044682_1584131702.8524.png

 

 

 

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)

 

2921044682_1584131679.8878.png

 

 

 

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)

 

2921044682_1584132364.2389.png

 

 

 

 

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

 

2921044682_1584137698.4998.png

 

2921044682_1584137713.1216.png

 

 

 

 

댓글목록

댓글이 없습니다

게시물 검색
총 7 건 , 1 페이지
올서베이넷
무료 온라인 설문 사이트
OVITII
웹 프레젠테이션 도구
Copyright © JBMPA.com All rights reserved.
사이트 언어 선택
PC 보기