본문 바로가기

데이터시각화

matplotlib 을 이용한 선 그래프 그려보기

아나콘다에서 그래프를 그리려면 그래프를 그릴 수 있는 라이브러리를 설치 하고 사용 하여야 한다. 

그래프를 그리는 라이브러리는 가장 많이 사용하는 matplotlib을 사용한다. 

 

아래 사이트에서 버전별로 다운 받을 수 있고 샘플 코드도 볼 수 있다.

https://matplotlib.org/

 

아나콘다를 설치 하였으면 기본으로 설치가 되어 있으므로 import 하여 사용 할 수 있다. 

 

import matplotlib.pyplot as plt

 

 

이 글 에서는 선 그래프 그리는 방법에 대해 다룰 예정이다. 

선 그래프는 1년동안의 매출액, 성장기 키 변화, 다이어트시 몸무게 변화 등 특정 값의 변화에 대해 알고 싶을때 주로 사용 한다. 

 

그래프를 그릴 경우에는 x, y축과 각축에 표시될  값들이 필요 하며 이 값들에 사용할 수 있는 파이썬 데이터 형태로는

1차원 리스트, 튜플, 시리즈 등이 있다. 


 

1. 선 그래프 그리는 법 

plt.plot(x, y) 
plot 함수에 x, y 값을 전달 하면 그 값을 이용하여 선 그래프로 그려준다.

 

- 리스트로 그려보기 

x = [10,20,30,40,50]
y = [1,3,5,7,10]

# 그래프 그리기
plt.plot(x,y)

 

# 리스트로 그래프 그리기 
# x축을 따로 지정하지 않으면 리스트의 인덱스로 설정된다. 
data = [1,7,5,7,9,3,8] 

plt.plot(data)

# x축 값도 설정해서 선 그래프 그리기
x = [10,20,30,40,50,60,70]
plt.plot(x, data)


- 시리즈로 그려보기 

# 시리즈 데이터로 그리기 
s = pd.Series([1,3,5,7,9])

# x값을 설정하지 않으면 시리즈의 인덱스 값이 x 값이 된다. 
# 그래프 그리기
plt.plot(s)

 

# 시리즈 인덱스값을 x 값으로 이용하기 
s = pd.Series([1,3,5,7,10], index=[10,20,30,40,50])
s


10     1
20     3
30     5
40     7
50    10
dtype: int64
# 그래프 그리기
plt.plot(s)


- 데이터 프레임으로 그려보기 

임의의 2022년 1년동안의 매출액을 데이터 프레임으로 만들어 해당 데이터로

선 그래프로 그려 보려고 한다.  x축은 한달 단위를 사용 한다. 

df = pd.DataFrame()
# 월 
df['date'] = ['22-'+str(x).zfill(2) for x in range(1,13)] 
# 매출액
df['sales'] = [300,100,250,320,180,280,520,390,500,370,750,880] 
df

# 그래프 그리기
plt.plot(df['date'], df['sales'] )