안녕하세요~ 꽁냥이에요.
이번에는 선 그래프를 그리는 방법에 대해서 알아보려고 해요. 꽁냥이는 이 주제에 대해서 다음과 같이 3편에 걸쳐서 소개할 거예요.
1. Matplotlib을 이용하여 선 그래프 그리기
3. Matplotlib을 이용하여 여러 개 선 그래프 겹쳐 그리기
이번 포스팅에서는 첫 번째 순서로 "Matplotlib을 이용한 선 그래프 그리기"에 대해서 알아보겠습니다.
1. 선 그래프
먼저 다음의 상황을 보겠습니다.
나팀장 : 꽁냥씨 어디가나요?
꽁냥이 : 아.. 점심 먹으러 가려고 합니다.
나팀장 : 그렇군요. 다름이 아니고 방금 데이터를 받았거든요. 최근 10일 매출 현황 데이터지요. 그래서 말인데 일별 매출을 그림으로 정리해주세요.
꽁냥이 : 네 알겠습니다.
꽁냥이는 오늘도 점심 먹다 체했습니다.
여기서 꽁냥이가 해야 할 일은 일별로 매출을 그림으로 정리하는 것이지요. 이렇게 하면 보는 사람들이 최근 10일 동안 매출의 변화를 직관적으로 알 수 있지요. 이처럼 특정 변수에 따른 관심 변수의 변화를 보고자 할 때 사용하는 그래프가 바로 선 그래프입니다.
이번 상황에서 특정 변수는 시간이 되겠고 관심 변수는 매출액이 되지요.
2. 데이터 준비하기
꽁냥이가 그려야 하는 데이터는 아래와 같습니다.
즉, 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을 이용하여 선 그래프를 그리는 방법에 대해 알아보았는데요. 내용을 보시고 궁금한 점, 잘못된 점이 있거나 그 밖에 하고 싶은 말은 댓글로 남겨주세요~
다음 포스팅에서는 선 그래프를 멋지게 꾸며보는 방법에 대해서 소개하려고 합니다. 많이 기대해주세요.
지금까지 꽁냥이의 글 읽어주셔서 감사합니다.
'데이터 분석 > 시각화' 카테고리의 다른 글
[선 그래프(Line graph)] 2. Matplotlib을 이용하여 선 그래프 꾸미기 (400) | 2020.07.05 |
---|---|
[범례(Legend)] 1. Matplotlib를 이용한 범례 꾸미기 - 기본 (415) | 2020.07.04 |
[기타] Matplotlib 선 종류(Line style) 지정 (393) | 2020.06.28 |
[바 차트(Bar chart)] 5. Matplotlib을 이용하여 스택 바 차트(Stacked bar chart) 그리기 (826) | 2020.06.25 |
[바 차트(Bar chart)] 4. Matplotlib을 이용하여 그룹 바 차트(Grouped bar chart) 그리기 (1690) | 2020.06.22 |
댓글