[python] ReportLab 차트 스타일링

ReportLab은 파이썬에서 PDF 문서를 생성하기 위한 강력한 도구입니다. 이를 사용하면 차트를 생성하고 스타일링할 수 있습니다. 이번 글에서는 ReportLab을 사용하여 차트를 스타일링하는 방법에 대해 알아보겠습니다.

1. 차트 생성하기

먼저, ReportLab을 설치하고 차트를 생성해야 합니다. 다음은 ReportLab을 사용하여 막대 그래프를 생성하는 예제입니다.

from reportlab.lib import colors
from reportlab.graphics.shapes import Drawing
from reportlab.graphics.charts.barcharts import VerticalBarChart

data = [10, 20, 30, 40, 50]

drawing = Drawing(400, 200)
chart = VerticalBarChart()
chart.x = 50
chart.y = 50
chart.height = 100
chart.width = 300
chart.data = [data]
chart.strokeColor = colors.black
chart.valueAxis.valueMin = 0
chart.valueAxis.valueMax = 60

drawing.add(chart)
drawing.save(formats=['pdf'], outfilename='chart.pdf')

위 코드에서는 ReportLab의 VerticalBarChart 클래스를 사용하여 막대 그래프를 생성하고, Drawing 클래스를 사용하여 이를 그림판에 추가합니다. 데이터, 그래프의 위치 및 크기, 선 색상, 축 범위 등을 설정할 수 있습니다. 마지막으로, drawing.save() 메서드를 사용하여 그림판을 PDF 파일로 저장합니다.

2. 차트 스타일링하기

차트를 스타일링하기 위해서는 다양한 속성을 설정할 수 있습니다. 다음은 일부 속성을 설정하는 방법입니다.

2.1. 제목 및 축 레이블 수정하기

chart.title = "My Chart"
chart.xAxis.title = "X Axis"
chart.yAxis.title = "Y Axis"

2.2. 색상 변경하기

chart.fillColor = colors.lightblue
chart.fillBorder = colors.darkblue
dataSeries = chart.data[0]
dataSeries.fillColor = colors.orange

2.3. 축 레이블 회전하기

chart.xAxis.labels.angle = 45
chart.yAxis.labels.angle = 90

2.4. 축 레이블 폰트 스타일 변경하기

chart.xAxis.labels.fontName = "Helvetica"
chart.yAxis.labels.fontName = "Helvetica"
chart.xAxis.labels.fontSize = 10
chart.yAxis.labels.fontSize = 10
chart.xAxis.labels.fillColor = colors.black
chart.yAxis.labels.fillColor = colors.black
chart.xAxis.labels.dx = -10
chart.yAxis.labels.dy = -10

기타 다른 속성을 변경하고 싶다면, ReportLab의 문서를 참조하세요.

3. 마치며

이번 글에서는 ReportLab을 사용하여 차트를 생성하고 스타일링하는 방법에 대해 알아보았습니다. ReportLab을 사용하면 파이썬에서 다양한 차트를 생성하고 스타일링할 수 있습니다. 추가로 많은 속성을 활용하여 차트를 원하는대로 꾸밀 수 있습니다. 잘 활용하여 멋진 차트를 만들어보세요!