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

[선 그래프(Line graph)] 1. Matplotlib을 이용하여 선 그래프 그리기

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

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

 

이번에는 선 그래프를 그리는 방법에 대해서 알아보려고 해요. 꽁냥이는 이 주제에 대해서 다음과 같이 3편에 걸쳐서 소개할 거예요.


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

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

3. Matplotlib을 이용하여 여러 개 선 그래프 겹쳐 그리기


이번 포스팅에서는 첫 번째 순서로 "Matplotlib을 이용한 선 그래프 그리기"에 대해서 알아보겠습니다.

 

1. 선 그래프

2. 데이터 준비하기

3. 선 그래프 그리기

 

LIST

   1. 선 그래프

먼저 다음의 상황을 보겠습니다.

 

나팀장 : 꽁냥씨 어디가나요?

 

꽁냥이 : 아.. 점심 먹으러 가려고 합니다.

 

나팀장 : 그렇군요.  다름이 아니고 방금 데이터를 받았거든요. 최근 10일 매출 현황 데이터지요. 그래서 말인데 일별 매출을 그림으로 정리해주세요.

 

꽁냥이 : 네 알겠습니다.

 

꽁냥이는 오늘도 점심 먹다 체했습니다.


여기서 꽁냥이가 해야 할 일은 일별로 매출을 그림으로 정리하는 것이지요. 이렇게 하면 보는 사람들이 최근 10일 동안 매출의 변화를 직관적으로 알 수 있지요. 이처럼 특정 변수에 따른 관심 변수의 변화를 보고자 할 때 사용하는 그래프가 바로 선 그래프입니다. 

 

이번 상황에서 특정 변수는 시간이 되겠고 관심 변수는 매출액이 되지요.

반응형

   2. 데이터 준비하기

꽁냥이가 그려야 하는 데이터는 아래와 같습니다.

 

최근 10일 매출액

즉, 2020년 1월 1일부터 10일까지의 매출액을 선 그래프로 그려야 하지요.

우선 데이터를 아래 코드를 통해서 만들겠습니다.

## 데이터
import pandas as pd

df = pd.DataFrame()
df['date'] = ['2020-01'+'-'+str(x).zfill(2) for x in range(1,11)] ## 날짜
df['sales'] = [300,200,250,90,380,480,220,290,500,370] ## 매출액

데이터는 준비됐으니 다음 단계로 넘어가 볼까요?

반응형

   3. 선 그래프 그리기

선 그래프는 plot 메서드를 통해서 그릴 수 있어요. plot 메서드의 (아주) 기본적인 사용법은 다음과 같아요.

 


plot(x축에 들어갈 데이터, y축에 들어갈 데이터, . . . )


사용법을 알아보았으니 직접 사용해봐야겠죠? 아래 코드를 살펴보겠습니다.

import matplotlib.pyplot as plt

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

ax.plot(df['date'],df['sales']) ## 선그래프 생성

plt.xticks(rotation=45) ## x축 눈금 라벨 설정 - 40도 회전 
plt.title('Sales for 10 days',fontsize=20) ## 타이틀 설정
plt.show()

line 1

필요한 모듈을 임포트 해줍니다.

 

line 3~5

먼저 plt.figure 메서드를 사용하여 캔버스를 생성하고 이를 fig 변수에 담아줍니다(line 3). 캔버스 배경색을 하얀색으로 지정하고요(line 4). 실제 그림을 그리게 될 프레임을 생성하여 ax 변수에 담아줍니다(line 5).

 

line 7

이번 포스팅의 주인공입니다. ax.plot 안에 2개의 인자가 있는데요. 위에서 설명한 것처럼 첫 번째 인자에는 x축에 들어갈 데이터를 넣어주고, 두 번째인자에는 y축에 들어갈 데이터를 넣어줍니다.

 

꽁냥이는 x축에 날짜를 표시하고 y축에 해당 날짜의 매출액을 그려야 하기 때문에 2개의 인자에 각각 'date'열과 'sales'열을 넣었지요.

 

line 8~9

추가적으로 날짜가 너무 길어서 x축으로 그냥 표시하면 서로 겹쳐 보이게 됩니다. 따라서 이를 방지하기 위해 40도 회전시켜서 표시했고요(line 8). 타이틀도 추가했습니다(line 9). (사실 이 부분은 2편에서 소개할 내용이에요. 하지만 이게 없으면 그래프가 너무 없어 보여서 이 코드를 추가했습니다 ㅠ.ㅠ) 

 

자 이제 실행해볼까요?

 

실행 결과

어때요? 너무 쉽지 않나요?!

 

Matplotlib은 이처럼 아주 간단한 코드로 조금(?) 괜찮은 선 그래프를 그릴 수 있게 해 준답니다~

 

지금까지 Matplotlib을 이용하여 선 그래프를 그리는 방법에 대해 알아보았는데요. 내용을 보시고 궁금한 점, 잘못된 점이 있거나 그 밖에 하고 싶은 말은 댓글로 남겨주세요~

 

다음 포스팅에서는 선 그래프를 멋지게 꾸며보는 방법에 대해서 소개하려고 합니다. 많이 기대해주세요.

지금까지 꽁냥이의 글 읽어주셔서 감사합니다.

 


댓글


맨 위로