본문 바로가기
Python

[Python] Pandas의 Plot 그래프 종류 (Kind 속성)

by GoodDayDeveloper 2023. 6. 7.
반응형

 

 

Pandas는 plot이라는 시각화 메서드를 내장하고 있습니다.

plot의 kind 속성을 이용하면 다양한 형태의 그래프를 나타낼 수 있는데 

예제를 통해 정리해 보았습니다.

 

 

 

 

 

 

 

 

 

공공데이터 포탈에서 가져온 범죄관련 데이터입니다.

해당 데이터를 가지고 그래프 형태를 보겠습니다.

 

 

 

 

 


 

 

 

read_csv

 

 

 

 

1
2
3
4
5
import pandas as pd                # 데이터를 저장하고 처리하는 패키지
 
# csv 파일을 읽어서 DataFrame 객체로 만듦 / 인덱스 컬은 0로 설정 / 인코딩은 cp949
df = pd.read_csv('C:/Desktop/Player/task/data/time.csv', encoding='cp949', index_col=0)
df    # df 표시
cs

 

 

 

 

기본적으로 Pandas에서 csv 파일을 불러오는 read_csv 메서드 호출하는 코드입니다.

 

 

 

 

 

 

Plot Method

 

 

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
import matplotlib.pyplot as plt                 
plt.rcParams["font.family"= "NanumGothic"      #글꼴 정의
 
%matplotlib inline                  # 브라우저에서 바로 그림을 표출
import pandas as pd                # 데이터를 저장하고 처리하는 패키지
import matplotlib as mpl           # 그래프를 그리는 패키지
import matplotlib.pyplot as plt    # 그래프를 그리는 패키지
 
# csv 파일을 읽어서 DataFrame 객체로 만듦 / 인덱스 컬은 0로 설정 / 인코딩은 cp949
df = pd.read_csv('C:/Users/KBS_PC/Desktop/Player/task/data/time.csv', encoding='euc-kr', index_col=0)
 
# plot method
ax = df.plot(kind='line', title='경찰청_범죄 발생 시간대별 데이터', figsize=(124), legend=True, fontsize=12)
ax.set_xlabel('Time', fontsize=12)          # x축 정보 표시
ax.set_ylabel('Type', fontsize=12)          # y축 정보 표시
 
cs

 

데이터 시각화를 표현하는 Plot 메서드입니다.

 

CSV파일을 담은 df 변수에 plot 메서드를 선언해주고 안에 속성을 채워주는 방식입니다.

 

여기서 데이터 차트를 정해주는 속성은 kind 속성으로 유형은 아래로 정의됩니다.

[ line / bar / barh / hist / box / density / area / pie / scatter / hexbin] 

 

이 유형을 하나하나 정리해보겠습니다.

 

 

 

 

 

반응형

 

 

 

Pandas의 Plot 그래프 종류 

 

 

 

line 

 

 

ax = df.plot(kind='line', title='경찰청_범죄 발생 시간대별 데이터', figsize=(12, 4), legend=True, fontsize=12)
ax.set_xlabel('Time', fontsize=12)          # x축 정보 표시
ax.set_ylabel('Type', fontsize=12)          # y축 정보 표시

 

 

 

 

Pandas Kind 속성의 line은 선 그래프입니다.

주로 선 그래프는 여러 속성에 대한 흐름을 파악하기 위해 주로 사용이 됩니다.

 

 

 

 

 

 

 

bar 

 

 

 

ax = df.plot(kind='bar', title='경찰청_범죄 발생 시간대별 데이터', figsize=(12, 4), legend=True, fontsize=12)
ax.set_xlabel('Time', fontsize=12)          # x축 정보 표시
ax.set_ylabel('Type', fontsize=12)          # y축 정보 표시

 

 

 

Pandas Kind 속성의 bar은 막대 그래프입니다.

해당 시간 및 일자에 속성의 직접적인 값을 비교하기 좋은 그래프입니다.

 

 

 

 

 

 

barh 

 

 

ax = df.plot(kind='bath', title='경찰청_범죄 발생 시간대별 데이터', figsize=(12, 4), legend=True, fontsize=12)
ax.set_xlabel('Time', fontsize=12)          # x축 정보 표시
ax.set_ylabel('Type', fontsize=12)          # y축 정보 표시

 

 

Pandas Kind 속성의 bath는 y측 막대 그래프입니다.

속성을 기준으로 시간에 흐름에 따라 최대값과 최소값을 파악하기 쉬운 그래프입니다.

 

 

 

 

 

 

 

 

hist 

 

 

ax = df.plot(kind='hist', title='경찰청_범죄 발생 시간대별 데이터', figsize=(12, 4), legend=True, fontsize=12)
ax.set_xlabel('Time', fontsize=12)          # x축 정보 표시
ax.set_ylabel('Type', fontsize=12)          # y축 정보 표시

 

 

Pandas Kind 속성의 hist는 도수분포표를 그래프화한 것 입니다.

데이터의 분포를 그래프로 나타낸 것으로 값이 어떤 분포에 속하는지 나타내줍니다.

 

 

 

 

 

 

box 

 

 

ax = df.plot(kind='box', title='경찰청_범죄 발생 시간대별 데이터', figsize=(12, 4), legend=True, fontsize=12)
ax.set_xlabel('Time', fontsize=12)          # x축 정보 표시
ax.set_ylabel('Type', fontsize=12)          # y축 정보 표시

 

 

Pandas Kind 속성의 box는 도수분포표를 그래프화한 것 입니다.

hist와 마찬가지로 데이터의 분포를 나타내주며 각 데이터의 이상치들을 동시에 보여줄 수 있는 그래프입니다.

 

 

 

 

 

 

density 

 

 

ax = df.plot(kind='density', title='경찰청_범죄 발생 시간대별 데이터', figsize=(12, 4), legend=True, fontsize=12)
ax.set_xlabel('Time', fontsize=12)          # x축 정보 표시
ax.set_ylabel('Type', fontsize=12)          # y축 정보 표시

 

 

Pandas Kind 속성의 density는 밀도분포를 그래프화한 것 입니다.

데이터의 분포를 나타내며 범위에 대한 밀도가 그려지는 그래프입니다.

 

 

 

 

 

 

area 

 

 

ax = df.plot(kind='area', title='경찰청_범죄 발생 시간대별 데이터', figsize=(12, 4), legend=True, fontsize=12)
ax.set_xlabel('Time', fontsize=12)          # x축 정보 표시
ax.set_ylabel('Type', fontsize=12)          # y축 정보 표시

 

 

Pandas Kind 속성의 area는 영역차트를 그래프화한 것 입니다.

선 그래프의 아래에 영역이 채워진 형태로써 시간에 따라 측정값의 변화를 시각화한 그래프입니다.

 

 

 

 

 

 

 

 

pie 

 

 

 

ax = df.plot(kind='pie', title='경찰청_범죄 발생 시간대별 데이터', figsize=(12, 4), legend=True, fontsize=12)
ax.set_xlabel('Time', fontsize=12)          # x축 정보 표시
ax.set_ylabel('Type', fontsize=12)          # y축 정보 표시

 

 

Pandas Kind 속성의 pie는 범주별 비율을 원형으로 그래프화한 것 입니다.

각 속성의 비율을 비례하여 표현하여 구분하기 쉽게 나타내어 줍니다.

 

 

 

 

 

 

 

 

scatter 

 

 

 

ax = df.plot(kind='scatter', title='경찰청_범죄 발생 시간대별 데이터', figsize=(12, 4), legend=True, fontsize=12)
ax.set_xlabel('Time', fontsize=12)          # x축 정보 표시
ax.set_ylabel('Type', fontsize=12)          # y축 정보 표시

 

 

Pandas Kind 속성의 scatter 는 산점도를 그래프화한 것 입니다.

연속된 속성간의 상관관계를 확인하기 용이하며 두 관계를 시각적으로 확인할 수 있습니다.

 

 

 

 

 

 

 

hexbin

 

 

 

 

ax = df.plot(kind='hexbin', title='경찰청_범죄 발생 시간대별 데이터', figsize=(12, 4), legend=True, fontsize=12)
ax.set_xlabel('Time', fontsize=12)          # x축 정보 표시
ax.set_ylabel('Type', fontsize=12)          # y축 정보 표시

 

 

Pandas Kind 속성의 hexbin 는 고밀도 산점도 그래프입니다.

육각형의 그리드 형태로 값을 반환하며 각각의 점을 산점도로 표현하여 시각화한 그래프입니다.

 

 

 

 

 

 

 

반응형

댓글