[python] PyQt를 활용한 각종 차트 그리기

파이썬은 강력한 GUI 프레임워크인 PyQt를 통해 다양한 차트를 그릴 수 있습니다. PyQt는 Qt 프레임워크를 파이썬으로 사용할 수 있도록 만든 라이브러리로, 다양한 UI 요소와 그래픽 기능을 제공합니다.

이번 블로그 포스트에서는 PyQt를 활용하여 각종 차트를 그리는 방법에 대해 알아보겠습니다.

1. 설치 및 환경 설정

먼저 PyQt를 설치해야 합니다. 아래의 명령을 사용하여 PyQt를 설치할 수 있습니다.

pip install pyqt5

설치가 완료되면 다음 단계로 넘어갈 수 있습니다.

2. 선 그래프 그리기

선 그래프는 데이터의 추세를 시각적으로 보여주는데 유용합니다. PyQt에서는 QChart 및 QLineSeries 등의 클래스를 사용하여 선 그래프를 그릴 수 있습니다.

아래의 코드는 PyQt를 사용하여 간단한 선 그래프를 그리는 예시입니다.

import sys
from PyQt5.QtWidgets import QApplication, QMainWindow
from PyQt5.QtChart import QChart, QLineSeries, QChartView
from PyQt5.QtCore import Qt

def main():
    app = QApplication(sys.argv)
    window = QMainWindow()
    
    series = QLineSeries()
    series.append(0, 6)
    series.append(2, 4)
    series.append(3, 8)
    series.append(7, 4)
    series.append(10, 5)
    
    chart = QChart()
    chart.addSeries(series)
    chart.createDefaultAxes()
    chart.setTitle("Line Chart")
    
    chartView = QChartView(chart)
    window.setCentralWidget(chartView)
    
    window.setGeometry(100, 100, 800, 600)
    window.show()

    sys.exit(app.exec_())

if __name__ == "__main__":
    main()

위의 코드를 실행하면 간단한 선 그래프를 볼 수 있습니다.

3. 막대 그래프 그리기

막대 그래프는 카테고리나 시간에 따른 데이터를 비교할 때 유용합니다. PyQt에서는 QBarSeries 클래스를 사용하여 막대 그래프를 그릴 수 있습니다.

아래의 코드는 PyQt를 사용하여 간단한 막대 그래프를 그리는 예시입니다.

import sys
from PyQt5.QtWidgets import QApplication, QMainWindow
from PyQt5.QtChart import QChart, QBarSeries, QBarSet, QChartView
from PyQt5.QtCore import Qt

def main():
    app = QApplication(sys.argv)
    window = QMainWindow()
    
    set0 = QBarSet("Set 0")
    set0.append([1, 2, 3, 4, 5])
    
    series = QBarSeries()
    series.append(set0)
    
    chart = QChart()
    chart.addSeries(series)
    chart.createDefaultAxes()
    chart.setTitle("Bar Chart")
    
    chartView = QChartView(chart)
    window.setCentralWidget(chartView)
    
    window.setGeometry(100, 100, 800, 600)
    window.show()

    sys.exit(app.exec_())

if __name__ == "__main__":
    main()

위의 코드를 실행하면 간단한 막대 그래프를 볼 수 있습니다.

4. 원 그래프 그리기

원 그래프는 데이터의 비율을 보여주는 데 유용합니다. PyQt에서는 QPieSeries 클래스를 사용하여 원 그래프를 그릴 수 있습니다.

아래의 코드는 PyQt를 사용하여 간단한 원 그래프를 그리는 예시입니다.

import sys
from PyQt5.QtWidgets import QApplication, QMainWindow
from PyQt5.QtChart import QChart, QPieSeries, QPieSlice, QChartView
from PyQt5.QtCore import Qt

def main():
    app = QApplication(sys.argv)
    window = QMainWindow()
    
    series = QPieSeries()
    series.append("Slice 1", 30)
    series.append("Slice 2", 50)
    series.append("Slice 3", 20)
    
    chart = QChart()
    chart.addSeries(series)
    chart.setTitle("Pie Chart")
    
    chartView = QChartView(chart)
    window.setCentralWidget(chartView)
    
    window.setGeometry(100, 100, 800, 600)
    window.show()

    sys.exit(app.exec_())

if __name__ == "__main__":
    main()

위의 코드를 실행하면 간단한 원 그래프를 볼 수 있습니다.

마치며

이번 포스트에서는 PyQt를 활용하여 각종 차트를 그리는 방법에 대해 알아보았습니다. PyQt를 사용하면 파이썬으로 간단하게 차트를 그릴 수 있으며, 다양한 UI 요소와 그래픽 기능을 활용할 수 있습니다.

더 많은 차트 그리기 기능을 사용하고 싶다면 PyQt 문서 및 예제 코드들을 확인해 보세요.

Happy coding!