반갑습니다~ 꽁냥이에요. 데이터 시각화를 하다 보면 막대그래프 또는 바 차트에 라인(선 그래프)을 추가해야 할 필요가 있는데요. 이번 포스팅에서는 Matplotlib을 이용하여 바 차트에 라인을 추가하는 방법에 대해서 알아보겠습니다.
바 차트와 선 그래프를 그리는 방법에 대해서는 아래에 포스팅해두었으니 참고하세요~
바 차트 그리기
[바 차트(Bar chart)] 1. Matplotlib을 이용하여 바 차트, 수평 바 차트 그리기
[바 차트(Bar chart)] 2. Matplotlib을 이용하여 바 차트 꾸미기
[바 차트(Bar chart)] 3. Matplotlib 바 차트 번외 - 막대에 그라데이션 적용하기
[바 차트(Bar chart)] 4. Matplotlib을 이용하여 그룹 바 차트(Grouped bar chart) 그리기
[바 차트(Bar chart)] 5. Matplotlib을 이용하여 스택 바 차트(Stacked bar chart) 그리기
선 그래프 그리기
[선 그래프(Line graph)] 1. Matplotlib을 이용하여 선 그래프 그리기
[선 그래프(Line graph)] 2. Matplotlib을 이용하여 선 그래프 꾸미기
[선 그래프(Line graph)] 3. Matplotlib을 이용하여 여러 개 선 그래프 겹쳐 그리기
여기에서 다루는 내용은 다음과 같습니다.
1. 하나의 데이터로 바 차트와 라인 차트 표시하기
먼저 데이터 하나를 바 차트와 라인 차트로 표현하는 방법을 알아볼게요. 먼저 필요한 모듈을 임포트하고 예제용 데이터를 만들어줍시다.
import matplotlib.pyplot as plt
import seaborn as sns
day = ['Mon', 'Tue','Wed', 'Thu','Fri','Sat','Sun']
temp = [33, 29, 26, 36, 37, 32, 25]
num_icecream = [1000, 2000, 1100, 900, 1500, 1550, 2200]
이제 바 차트와 선 그래프를 그려보는 방법을 알아봅시다. 쉽습니다. 그냥 바 차트와 선 그래프 동시에 그리면 됩니다. 설명은 주석으로 대체할게요~
fig = plt.figure(figsize=(8,8)) ## Figure 생성
fig.set_facecolor('white') ## Figure 배경색 지정
colors = sns.color_palette('summer', len(day)) ## 바 차트 색상
xtick_label_position = list(range(len(day))) ## x축 눈금 라벨이 표시될 x좌표
plt.xticks(xtick_label_position, day) ## x축 눈금 라벨 출력
plt.bar(xtick_label_position, num_icecream, color=colors) ## 바차트 출력
plt.plot(xtick_label_position, num_icecream, color='b',
linestyle='--', marker='o') ## 선 그래프 출력
plt.title('Sales Icecream for Days', fontsize=20)
plt.show()
위 코드를 실행하면 아래와 같이 바 차트와 선 그래프가 예쁘게 그려진 것을 알 수 있습니다.
2. 다른 데이터로 바 차트와 라인 차트 표시하기
이번에는 서로 다른 두 데이터를 하나는 바 차트 다른 하나는 선 그래프로 그려보겠습니다. 앞에서 살펴본 경우와 다른 점은 두 데이터가 다르기 때문에 단위가 다를 수 있어서 이중 y축을 사용해야 합니다. 아래 코드는 하나의 축(ax1)에 바 차트를 그리고 또 다른 축(ax2)에 선 그래프를 그립니다. 설명은 주석으로 대체하겠습니다.
fig = plt.figure(figsize=(8,8)) ## Figure 생성
fig.set_facecolor('white') ## Figure 배경색 지정
ax1 = fig.add_subplot() ## axes 생성
colors = sns.color_palette('summer', len(day)) ## 바 차트 색상
xtick_label_position = list(range(len(day))) ## x축 눈금 라벨이 표시될 x좌표
ax1.set_xticks(xtick_label_position) ## x축 눈금
ax1.set_xticklabels(day) ## x축 눈금 라벨
ax1.bar(xtick_label_position, num_icecream, color=colors) ## 바차트 출력
color = 'blue'
ax2 = ax1.twinx() ## 새로운 axis 생성
ax2.plot(xtick_label_position, temp, color=color, linestyle='--', marker='o') ## 선 그래프
ax2.tick_params(axis='y', labelcolor=color) ## 눈금 라벨 색상 지정
plt.title('Sales Icecream and Temperature for Days', fontsize=20)
plt.show()
위 코드를 실행해보세요~
예쁘게 잘 그려졌어요~ ^0^
이번 포스팅에서는 바 차트와 선 그래프를 동시에 그리는 방법을 알아보았습니다. 오늘 배운 것은 데이터를 시각화할 때 많이 사용되니까 알아두시면 좋아요~ 지금까지 꽁냥이의 글 읽어주셔서 감사합니다. 안녕히 계세요~
'데이터 분석 > 시각화' 카테고리의 다른 글
Matplotlib 이미지 파일 읽기/저장하기 (612) | 2021.08.16 |
---|---|
Matplotlib을 이용하여 버블 차트(Bubble Chart) 그리기 (832) | 2021.08.10 |
Matplotlib 산포도에 히스토그램 추가하기 (817) | 2021.07.16 |
Matplotlib 서로 다른 y축 적용하기 (1044) | 2021.07.13 |
Matplotlib을 이용하여 이진 트리(Binary Tree) 시각화 해보기 (853) | 2021.07.11 |
댓글