본문 바로가기
Software/Python

[Openpyxl] 7. 차트(Chart) 삽입

by 리미와감자 2024. 1. 28.

7. 차트(Chart) 삽입

 

필요한 라이브러리

 

from openpyxl import load_workbook
from openpyxl.chart import BarChart, LineChart, Reference

 

 

테스트 파일

 

wb = load_workbook("test.xlsx")
ws = wb.active

 

 

 

 

Bar 차트

 

# B2:C11 까지의 데이터를 차트로 생성
bar_value = Reference(ws, min_row=2, max_row=11, min_col=2, max_col=3)
bar_chart = BarChart() # 차트 종류 설정 ( Bar, Line, Pie, ... )
bar_chart.add_data(bar_value)
ws.add_chart(bar_chart, "E1") # 차트 넣을 위치 정의

 

 

 

  • Reference() : worksheet에서 차트 데이터로 사용할 영역을 정한다.
  • BarChart() : Bar Chart 객체를 생성한다.
  • bar_chart.add_data(bar_value) : Bar Chart 객체에 Reference 데이터를 추가한다.
  • add_chart(차트 종류, "차트 삽입 위치") : 차트를 해당 영역에 삽입한다.

 

 

Line 차트

 

# B1:C11 까지의 데이터를 차트로 생성
line_value = Reference(ws, min_row=1, max_row=11, min_col=2, max_col=3)
line_chart = LineChart() # 차트 종류 설정 ( Bar, Line, Pie, ... )
line_chart.add_data(line_value, titles_from_data=True) # 계열 > 영어, 수학 (제목에서 가져옴)
line_chart.title = "성적표" # 제목
line_chart.style = 20 # 미리 정의된 스타일을 적용, 사용자가 개별로 지정 가능
line_chart.y_axis.title = "점수" # Y축의 제목
line_chart.x_axis.title = "번호" # X축의 제목
ws.add_chart(line_chart, "E1") # 차트 넣을 위치 정의

 

 

 

 

 

  • Reference() : worksheet에서 차트 데이터로 사용할 영역을 정한다. 이번에는 제목까지 포함.
  • LineChart() : Line Chart 객체를 생성한다.
  • line_chart.add_data(line_value, title_from_data=True) : Line Chart 객체에 Reference 데이터를 추가하고, 제목을 계열로 설정한다(title_from_data=True).
  • line_chart.title = 제목 설정
  • line_chart style = 스타일 설정(미리 정의된 스타일, 엑셀에서 확인)
  • line_chart.y_axis.title : Y축 제목
  • line_chart.x_axis.title : X축 제목

 

 

Chart 참고할 사이트

 

https://openpyxl.readthedocs.io/en/stable/charts/introduction.html

 

Charts — openpyxl 3.1.2 documentation

© Copyright 2010 - 2023, See AUTHORS Revision 4212e3e95a42.

openpyxl.readthedocs.io

 

위 사이트에서 필요한 차트 생성 시에 참고하면 도움이 될 것 같다.

댓글