누적 막대 그래프와 영역 차트
누적 막대(bottom=)와 ax.stackplot으로 부분이 시간에 따라 어떻게 합쳐지는지 보여 줍니다.
소개
여러 계열이 합쳐져 전체가 될 때는 쌓아서 그리세요. 각 막대가 앞 막대가 끝난 곳에서 시작하므로 전체 높이가 합계이고 색깔별 부분이 각 계열입니다. ax.stackplot은 같은 일을 채워진 영역으로 합니다.
bottom=은 각 ax.bar 호출에 막대가 시작할 위치를 알려 줍니다. mobile은 desktop 위에서, tablet은 둘 위에서 시작합니다. NumPy 배열을 쓰면 desktop + mobile이 연도별로 값을 더합니다. 각 막대의 높이는 그해 방문 수의 합계이고, 범례로 부분을 구분합니다.
인터랙티브 시각화
누적 막대, 그룹 막대, 영역 차트를 비교하고 백분율로 바꿔 기기별 비중을 확인해 보세요.
실행 가능한 Matplotlib 예제
Matplotlib
main.py
import matplotlib.pyplot as plt
import numpy as np
years = ["2022", "2023", "2024", "2025"]
desktop = np.array([50, 48, 45, 40])
mobile = np.array([30, 45, 60, 80])
tablet = np.array([10, 12, 11, 9])
fig, ax = plt.subplots(figsize=(7, 4))
ax.bar(years, desktop, label="Desktop")
ax.bar(years, mobile, bottom=desktop, label="Mobile")
ax.bar(years, tablet, bottom=desktop + mobile, label="Tablet")
ax.set_ylabel("Visits (thousands)")
ax.set_title("Visits by device")
ax.legend()
plt.show()
