본문으로 건너뛰기
실습하기

파이썬으로 차트(Chart) 생성 및 데이터 시각화하기

차트는 데이터를 시각적으로 표현해 직관적으로 이해할 수 있도록 돕습니다.

python-pptx 라이브러리는 다양한 종류의 차트를 생성하고 데이터를 시각화하는 기능을 제공합니다.

이번 수업에서는 막대형 차트를 예시로 차트를 생성하는 방법, 데이터를 추가하는 방법, 그리고 서식을 설정하는 방법을 알아보겠습니다.


차트 종류 이해 및 생성 방법

python-pptx는 막대형 차트, 원형 차트, 선형 차트 등 다양한 차트 유형을 지원합니다.

이중 가장 기본적인 차트 유형인 막대형 차트를 만드는 방법을 살펴보겠습니다.


막대형 차트 생성 예제

막대형 차트는 범주(Category)별로 데이터의 크기를 비교할 때 유용합니다.

다음은 간단한 막대형 차트를 생성하는 코드 예제입니다.

막대형 차트 생성
# 차트 데이터 준비
chart_data = CategoryChartData()

# 범주(차트의 가로축) 추가
chart_data.categories = ['Category 1', 'Category 2', 'Category 3']

# 데이터 시리즈(차트의 세로축) 추가
chart_data.add_series('Series 1', (1.2, 2.3, 3.4))

# 차트 위치 및 크기 설정
x, y, cx, cy = Inches(2), Inches(2), Inches(6), Inches(4.5)

# 세로 방향의 막대형 차트 생성
chart = slide.shapes.add_chart(
XL_CHART_TYPE.COLUMN_CLUSTERED, x, y, cx, cy, chart_data
).chart

코드 설명

  • 프레젠테이션 생성 : Presentation()으로 새로운 프레젠테이션 객체를 생성합니다.

  • 슬라이드 추가 : add_slide() 메서드로 프레젠테이션에 슬라이드를 추가합니다.

  • 차트 데이터 준비 : CategoryChartData() 객체를 사용해 차트에 들어갈 데이터를 준비합니다.

  • 범주 추가 : chart_data.categories로 범주를 추가합니다. 범주는 차트의 가로축에 표시되는 값입니다.

  • 데이터 시리즈 추가 : chart_data.add_series()로 데이터 시리즈를 추가합니다. 데이터 시리즈는 차트의 세로축에 표시되는 값입니다.

  • 차트 삽입 : add_chart() 메서드를 사용해 슬라이드에 차트를 삽입합니다. XL_CHART_TYPE.COLUMN_CLUSTERED로 세로 방향의 막대형 차트를 생성합니다.

  • 막대형 차트 생성 : XL_CHART_TYPE.COLUMN_CLUSTERED로 막대형 차트를 생성합니다.


차트 관련 주요 속성

  • chart.has_legend = True : 차트에 범례(데이터 레이블)를 표시합니다.

  • chart.value_axis.has_major_gridlines = False : 차트의 세로축에 대한 그리드 라인을 표시하지 않습니다.


다른 차트 종류 생성 방법

막대형 차트 이외에도 파이썬으로 다양한 차트를 생성할 수 있습니다.

  • 원형 차트 : XL_CHART_TYPE.PIE

  • 선형 차트 : XL_CHART_TYPE.LINE

  • 면적 차트 : XL_CHART_TYPE.AREA

예를 들어 동일한 코드로 면적 차트를 생성하려면, add_chart() 메서드의 첫번째 인자를 XL_CHART_TYPE.AREA로 변경하면 됩니다.

면적 차트 생성
chart = slide.shapes.add_chart(
XL_CHART_TYPE.AREA, x, y, cx, cy, chart_data
).chart

이외 다양한 차트 종류와 서식 설정 방법은 python-pptx 공식 문서를 참고하시기 바랍니다.

다음 내용이 궁금하다면?

코드프렌즈 PLUS 멤버십 가입 or 강의를 등록해 주세요!