가이드라인

데이터를 차트 및 그래프 형태로 시각화하는 방법

차트와 그래프를 활용하면 데이터를 보다 직관적으로 이해할 수 있습니다.

openpyxl는 차트와 그래프까지 코드로 생성할 수 있는 유용한 기능을 제공합니다.

이번 시간에는 openpyxl을 활용해 엑셀 파일에 차트를 추가하는 방법을 알아보겠습니다.


라인 차트(Line Chart) 생성하기

라인 차트는 시간의 흐름에 따른 데이터 변화를 시각적으로 나타낼 때 자주 사용합니다.

다음은 openpyxl을 사용해 라인 차트를 생성하는 코드 예제입니다.

라인 차트 생성하기
from openpyxl import Workbook from openpyxl.chart import LineChart, Reference # 새로운 워크북 생성 wb = Workbook() # 활성 시트 선택 ws = wb.active # 데이터 입력 (예: 월별 판매량) data = [ ['월', '판매량'], ['1월', 30], ['2월', 40], ['3월', 50], ['4월', 20], ['5월', 60], ] for row in data: ws.append(row) # 차트 생성 line_chart = LineChart() # 차트 데이터 참조 (B2부터 B6까지) data = Reference(ws, min_col=2, min_row=2, max_row=6) # X축(카테고리) 레이블 참조 (A2부터 A6까지) cats = Reference(ws, min_col=1, min_row=2, max_row=6) # 데이터에 제목 포함하지 않음 line_chart.add_data(data, titles_from_data=False) line_chart.set_categories(cats) line_chart.title = "월별 판매량" line_chart.x_axis.title = "월" line_chart.y_axis.title = "판매량" # 시트에 차트 추가 (D1 셀 위치에) ws.add_chart(line_chart, "A10") # 파일 저장 wb.save("output_file.xlsx")

코드 설명

  • line_chart = LineChart(): 라인 차트 객체를 생성

  • Reference: 차트에 사용할 데이터 범위와 카테고리(월)를 참조

  • line_chart.add_data(data, titles_from_data=False): 차트에 데이터를 추가하고, 데이터에 제목을 포함하지 않음

  • line_chart.set_categories(cats): X축(카테고리) 레이블을 설정

  • line_chart.title: 차트 제목을 설정

  • line_chart.x_axis.title: X축 제목을 설정

  • line_chart.y_axis.title: Y축 제목을 설정

  • ws.add_chart(line_chart, "A10"): 시트에 차트를 추가


물론 단순한 데이터를 다룰 때는 엑셀에서 차트를 직접 그리는 것이 빠릅니다.

하지만 대규모의 데이터 또는 자주 업데이트되는 데이터를 다룰 때는 코드로 차트 생성을 자동화하는 것이 훨씬 효율적입니다.


막대 차트(Bar Chart) 생성하기

막대 차트는 데이터의 크기를 비교할 때 자주 사용하는 차트 유형입니다.

다음은 파이썬 코드로 막대 차트를 생성하는 코드 예제입니다.

막대 차트 생성하기
from openpyxl import Workbook from openpyxl.chart import BarChart, Reference # 새로운 워크북 생성 wb = Workbook() # 활성 시트 선택 ws = wb.active # 데이터 입력 (예: 월별 수익) data = [ ['월', '수익'], ['1월', 1000], ['2월', 1500], ['3월', 1200], ['4월', 1700], ['5월', 1300], ] for row in data: ws.append(row) # 차트 생성 bar_chart = BarChart() # 차트 데이터 참조 (B2부터 B6까지) data = Reference(ws, min_col=2, min_row=2, max_row=6) # X축(카테고리) 레이블 참조 (A2부터 A6까지) cats = Reference(ws, min_col=1, min_row=2, max_row=6) # 데이터에 제목 포함하지 않음 bar_chart.add_data(data, titles_from_data=False) bar_chart.set_categories(cats) bar_chart.title = "월별 수익" bar_chart.x_axis.title = "월" bar_chart.y_axis.title = "수익" # 시트에 차트 추가 (D1 셀 위치에) ws.add_chart(bar_chart, "A10") # 파일 저장 wb.save("output_file.xlsx")

코드 설명

  • bar_chart = BarChart(): 막대 차트 객체를 생성

  • Reference: 차트에 사용할 데이터 범위와 카테고리(월)를 참조

  • bar_chart.add_data(data, titles_from_data=False): 차트에 데이터를 추가하고, 데이터에 제목을 포함하지 않음

  • bar_chart.set_categories(cats): X축(카테고리) 레이블을 설정

  • bar_chart.title: 차트 제목을 설정

  • bar_chart.x_axis.title: X축 제목을 설정

  • bar_chart.y_axis.title: Y축 제목을 설정

  • ws.add_chart(bar_chart, "A10"): 시트에 차트를 추가


다양한 차트 생성하기

openpyxl는 사용하면 라인 차트와 막대 차트 외에도 파이 차트(Pie Chart), 도넛 차트(Doughnut Chart), 히스토그램(Histogram) 등 다양한 차트를 형식을 지원합니다.

각 차트 유형은 chart 모듈에서 더 자세히 알아볼 수 있습니다.

Mission
0 / 1

다음 중 빈칸에 들어갈 가장 적절한 객체는 무엇일까요?

openpyxl에서 차트를 생성하기 위해 데이터 범위와 카테고리를 참조할 때 사용하는 객체는 입니다.
Workbook
LineChart
Reference
BarChart

가이드라인

AI 튜터

배포

디자인

업로드

수업 노트

즐겨찾기

도움말

코드 에디터

코드 실행
코드 생성

실행 결과

결과물

문서가 비어 있습니다.

코드를 실행해보세요.