[python] ReportLab 그래프 축 설정

ReportLab은 파이썬을 사용해서 PDF 문서를 생성하는 데 사용되는 강력한 라이브러리입니다. ReportLab을 사용하면 다양한 종류의 그래프를 생성할 수 있습니다. 그러나 그래프의 축을 설정하는 것은 때로는 도전적일 수 있습니다.

이 글에서는 ReportLab을 사용하여 그래프의 축을 설정하는 방법에 대해 알아보겠습니다.

1. 그래프 생성하기

ReportLab을 사용하여 그래프를 생성하려면 먼저 ReportLab을 설치해야 합니다. 다음 명령을 사용하여 ReportLab을 설치할 수 있습니다.

pip install reportlab

그런 다음 다음과 같이 그래프를 생성할 수 있습니다.

from reportlab.lib.pagesizes import A4
from reportlab.lib import colors
from reportlab.platypus import SimpleDocTemplate
from reportlab.graphics.charts.linecharts import LineChart
from reportlab.graphics.shapes import Drawing
from reportlab.graphics import renderPDF

def generate_graph():
    data = [
        (1, 2, 3, 4, 5),
        (2, 3, 4, 5, 6),
        (3, 4, 5, 6, 7),
        (4, 5, 6, 7, 8),
        (5, 6, 7, 8, 9)
    ]

    drawing = Drawing(400, 200)
    lc = LineChart()
    lc.x = 50
    lc.y = 50
    lc.width = 300
    lc.height = 125
    lc.data = data
    lc.joinedLines = 1
    lc.lines.strokeWidth = 1
    lc.categoryAxis.categoryNames = ['A', 'B', 'C', 'D', 'E']
    lc.valueAxis.valueMin = 0
    lc.valueAxis.valueMax = 10

    drawing.add(lc)

    doc = SimpleDocTemplate("graph.pdf", pagesize=A4)
    doc.build([drawing])

if __name__ == "__main__":
    generate_graph()

위 코드는 5개의 데이터 열을 가진 간단한 선 그래프를 생성합니다.

2. 축 설정하기

그러나 이 그래프의 축은 기본값으로 설정되어 있습니다. 그래서 우리는 그래프의 축을 수정하여 더 적절한 값을 나타낼 수 있습니다. 예를 들어, X 축의 범위를 0에서 10 사이로 제한하고 Y 축의 범위를 0에서 5 사이로 제한하려면 다음과 같이 설정할 수 있습니다.

lc.categoryAxis.rangeCategory = (0, 10)
lc.valueAxis.range = (0, 5)

이 코드를 generate_graph 함수의 적절한 위치에 추가하면 됩니다. 그러면 아래와 같이 X 축과 Y 축의 범위가 변경됩니다.

lc.categoryAxis.rangeCategory = (0, 10)
lc.valueAxis.range = (0, 5)

이렇게 설정하면 그래프가 원하는 축 범위로 표시됩니다.

3. 결론

ReportLab을 사용하여 그래프의 축을 설정하는 방법에 대해 알아보았습니다. 축 설정을 통해 그래프의 가독성을 향상시킬 수 있고, 사용자 정의 요구 사항에 맞게 그래프를 조정할 수 있습니다. 상세한 내용은 ReportLab 공식 문서를 참조하세요.