[python] ReportLab 차트 라벨링

ReportLab은 파이썬에서 PDF 문서를 생성하기 위한 강력한 라이브러리입니다. ReportLab을 사용하여 차트를 생성하고 라벨을 추가하는 방법을 알아보겠습니다.

차트 생성하기

먼저 ReportLab의 SimpleDocTemplate 클래스를 사용하여 PDF 문서를 생성하는 작업을 시작합니다. 그런 다음, Canvas 객체를 생성하여 문서에 그래픽 요소를 그릴 수 있습니다. 차트를 그리기 위해 Drawing 객체를 사용합니다.

from reportlab.lib.pagesizes import letter
from reportlab.pdfgen import canvas
from reportlab.graphics.shapes import Drawing
from reportlab.graphics.charts.barcharts import VerticalBarChart

doc = SimpleDocTemplate("chart.pdf", pagesize=letter)
c = canvas.Canvas("chart.pdf", pagesize=letter)

# 차트의 너비, 높이 설정
chart_width = 400
chart_height = 300

# 차트 생성
chart = VerticalBarChart()
chart.width = chart_width
chart.height = chart_height

# Chart 데이터 및 라벨 설정
data = [10, 20, 30, 40, 50]
labels = ["A", "B", "C", "D", "E"]

chart.data = [data]
chart.categoryAxis.categoryNames = labels

# 차트 그리기
drawing = Drawing()
drawing.add(chart)
drawing.drawOn(c, 100, 100)

c.save()

차트에 라벨 추가하기

차트 위에 라벨을 추가하기 위해 DrawString 메서드를 사용하여 차트 영역 내에 텍스트를 그립니다.

# 차트 영역 내에 라벨 추가
c.drawString(100, 80, "Label A")
c.drawString(200, 80, "Label B")
c.drawString(300, 80, "Label C")
c.drawString(400, 80, "Label D")
c.drawString(500, 80, "Label E")

c.save()

위의 코드에서는 drawString(x, y, text) 메서드를 사용하여 라벨을 추가합니다. xy는 텍스트가 나타날 위치를 나타내며, text는 표시할 텍스트입니다.

결과 확인하기

실행 결과로 생성된 chart.pdf를 열어 차트와 라벨이 포함된 PDF 문서를 확인할 수 있습니다.

결론

ReportLab을 사용하여 파이썬에서 차트를 생성하고 라벨을 추가하는 방법을 알아보았습니다. 이를 통해 다양한 형식의 차트를 생성하고 라벨을 추가하여 원하는 대시보드나 보고서를 만들 수 있습니다.


참조: