본문 바로가기
데이터 분석/시각화

[선 그래프(Line graph)] 3. Matplotlib을 이용하여 여러 개 선 그래프 겹쳐 그리기

by 부자 꽁냥이 2020. 7. 13.

안녕하세요~~ 꽁냥이에요!!

 

이번 포스팅에서는 Matplotlib을 이용하여 선 그래프 그리기 마지막 편으로 여러 개의 선그래프를 겹쳐 그리는 방법에 대해서 알아볼거예요. 1~2편에 대한 내용은 아래 링크를 참고하세요.

 

1. Matplotlib을 이용하여 선 그래프 그리기

2. Matplotlib을 이용하여 선 그래프 꾸미기

 

여기서 여러 개의 선 그래프란 x좌표는 동일하지만 y좌표가 다른 여러 개의 선 그래프를 의미합니다.

 

Matplotlib에서 여러 개 선 그래프를 겹쳐그리는 방법은 그리고자 하는 그래프 개수만큼 plot메서드를 호출하면 됩니다. 이게 다예요. 

 

그럼 시작해볼까요?


꽁냥이는 세 개의 선 그래프를 겹쳐 그릴 거예요. 


먼저 아래 코드를 통해 데이터를 만들어 줍니다.

 

## 데이터
import pandas as pd

df = pd.DataFrame()
df['days'] = ['Mon','Tue','Wed','Thu','Fri','Sat','Sun']*3 ## 요일
df['visits'] = [32,23,14,14,27,40,35,37,28,9,41,29,33,21,45,33,9,11,10,12,27] ## 방문 고객수
df['corp'] = ['A']*7 + ['B']*7 + ['C']*7 ## 회사명

 

그리고 아래의 코드는 선 그래프 3개를 겹쳐서 그려줍니다.

 

import matplotlib.pyplot as plt

## 3개 데이터 분리
a_df = df.query('corp =="A"') 
a_visits = a_df['visits']
days = a_df['days']

b_df = df.query('corp =="B"')
b_visits = b_df['visits']

c_df = df.query('corp =="C"')
c_visits = c_df['visits']

fig = plt.figure(figsize=(8,8)) ## 캔버스 생성
fig.set_facecolor('white') ## 캔버스 색상 설정
ax = fig.add_subplot() ## 그림 뼈대(프레임) 생성

ax.plot(days,a_visits,marker='o',label='A') ## 선그래프 생성
ax.plot(days,b_visits,marker='o',label='B') 
ax.plot(days,c_visits,marker='o',label='C') 

ax.legend() ## 범례

plt.title('Sales for last weekdays',fontsize=20) ## 타이틀 설정
plt.show()

 

line 18~20

꽁냥이는 그래프를 3개 그리려고 하니까 plot메서드를 3번 호출했어요.

 

위 코드를 실행해볼까요?

 

실행 결과

그래프 3개가 잘 겹쳐서 나왔습니다. 어때요? 쉽죠~~!!


이번 포스팅에서는 선 그래프를 겹쳐 그리는 방법에 대해서 알아보았습니다. 선 그래프 관련 포스팅은 여기까지입니다. 1~3편의 내용을 통해서 각자 선 그래프를 자유자재로 그릴 수 있게 되셨으면 좋겠습니다.

 

궁금하신 점, 잘못된 점, 그 밖에 하고 싶은 말은 댓글로 남겨주세요.

 

지금까지 꽁냥이의 글 읽어주셔서 감사드리며 다음 포스팅도 기대해주세요.

 


댓글


맨 위로