Computer >> 컴퓨터 >  >> 프로그래밍 >> Python

Matplotlib로 간트 차트(Gantt Chart) 그리는 방법 완벽 가이드

간트 차트(Gantt Chart)는 프로젝트 관리와 일정 계획에서 가장 널리 활용되는 시각화 도구 중 하나입니다. 간트 차트는 막대그래프의 한 종류로, 세로축에는 작업 목록을, 가로축에는 시간 구간을 배치합니다. 그래프에서 가로 막대의 길이는 각 작업의 소요 기간을 나타내므로, 프로젝트 전체 일정과 작업 간 순서를 한눈에 파악할 수 있습니다.

Python의 Matplotlib 라이브러리에서는 broken_barh() 메서드를 사용하면 간단하게 간트 차트를 그릴 수 있습니다.

구현 단계

  • 그림(figure) 크기를 설정하고 서브플롯(subplot) 주변 및 사이의 여백을 조정합니다.

  • 그림과 서브플롯 집합을 생성합니다.

  • broken_barh() 메서드로 가로 방향의 직사각형 시퀀스를 그립니다.

  • 축의 y축과 x축 범위(limit)를 설정합니다.

  • show() 메서드를 호출하여 그래프를 화면에 표시합니다.

예제 코드

import matplotlib.pyplot as plt

# 그림 크기 설정
plt.rcParams["figure.figsize"] = [7.50, 3.50]
plt.rcParams["figure.autolayout"] = True

# 그림과 서브플롯 생성
fig, ax = plt.subplots()

# 가로 방향 직사각형 시퀀스 그리기
ax.broken_barh([(110, 30), (150, 10)], (10, 9), facecolors='tab:blue')
ax.broken_barh([(10, 50), (100, 20), (130, 10)], (20, 9), facecolors='tab:orange')

# 축의 ylim과 xlim 설정
ax.set_ylim(5, 35)
ax.set_xlim(0, 200)

# 그래프 표시
plt.show()

코드 설명

broken_barh() 메서드는 두 개의 주요 인자를 받습니다. 첫 번째 인자는 (시작 위치, 막대 길이) 형태의 튜플 리스트로, 각 막대가 x축 어디에서 시작하고 얼마나 이어지는지를 정의합니다. 두 번째 인자는 (y 시작 위치, 막대 높이) 튜플로, 해당 행의 세로 위치와 두께를 결정합니다. 위 예제에서는 파란색(tab:blue)과 주황색(tab:orange)으로 서로 다른 두 작업 그룹을 표현했습니다.

실행 결과

위 코드를 실행하면 아래와 같은 간트 차트가 출력됩니다.

Matplotlib로 간트 차트(Gantt Chart) 그리는 방법 완벽 가이드