[python] ReportLab 동적 차트 생성

ReportLab은 파이썬을 사용하여 PDF 문서를 생성하기 위한 강력한 라이브러리입니다. 이 라이브러리를 사용하면 문서에 다양한 요소를 추가할 수 있으며, 이 중에서도 동적으로 차트를 생성하는 기능은 자주 활용되는 기능 중 하나입니다.

이번에는 ReportLab을 사용하여 동적으로 차트를 생성하는 방법을 알아보겠습니다.

필요한 패키지 설치

먼저 ReportLab 패키지를 설치해야 합니다. 다음 명령을 사용하여 패키지를 설치할 수 있습니다:

pip install reportlab

차트 생성 예제

다음은 ReportLab을 사용하여 동적으로 차트를 생성하는 예제입니다.

from reportlab.lib.pagesizes import letter
from reportlab.pdfgen import canvas
from reportlab.lib.colors import Color, PCMYKColor
from reportlab.graphics.shapes import Drawing
from reportlab.graphics.charts.barcharts import VerticalBarChart

def create_chart(data):
    c = canvas.Canvas("chart.pdf", pagesize=letter)
    drawing = Drawing(400, 200)
    chart = VerticalBarChart()
    chart.x = 50
    chart.y = 50
    chart.height = 150
    chart.width = 300
    chart.data = [data]
    chart.categoryAxis.categoryNames = [f"Group {i+1}" for i in range(len(data))]
    drawing.add(chart)
    drawing.drawOn(c, 0, 0)
    c.save()

# 테스트 데이터
data = [10, 30, 20, 25, 15]

# 차트 생성
create_chart(data)

위 예제는 chart.pdf라는 이름의 PDF 파일을 생성하고, 그 안에 주어진 데이터를 기반으로 세로 막대 차트를 그립니다. 차트가 생성된 후, create_chart() 함수 내에서 ReportLab의 기본 캔버스에 그려진 차트를 저장합니다.

차트 커스터마이징

ReportLab은 다양한 차트 커스터마이징 옵션을 제공합니다. 위 예제에서는 간단한 세로 막대 차트를 생성했지만, 다른 종류의 차트를 생성하고 커스터마이징하는 것도 가능합니다. 자세한 내용은 ReportLab 공식 문서를 참조하시기 바랍니다.

결론

ReportLab을 사용하면 파이썬으로 동적인 차트를 생성할 수 있습니다. 이를 활용하면 데이터 시각화 등 다양한 분야에서 유용하게 사용할 수 있습니다. 다음 번에 PDF 문서를 생성해야 할 때, ReportLab을 한번 써보시기 바랍니다.