🎱

006 부록) PyQt 그래프 그리기

인프런 강좌로 질문을 주셔서 아래 그래프 그리는 Code를 추가해드립니다. 간단한 코드들이지만 어떻게 추가하는지 핵심을 담고 있기 때문에 설명은 주석으로 대체합니다.
matplotlib 사용법을 모르시는 분들은 아래 영상을 참고해주세요.
Video preview

코드 - 1 (pyqtgraph)

import sys from PyQt5.QtWidgets import * from PyQt5.QtGui import * from PyQt5.QtCore import * import pyqtgraph as pg # pip install pyqtgraph import numpy as np class 그래프(QMainWindow): def __init__(self): super().__init__() self.UI초기화() def UI초기화(self): x = np.random.normal(size=1000) y = np.random.normal(size=1000) temp = pg.plot(x, y, pen=None, symbol='o') self.setCentralWidget(temp) self.setWindowIcon(QIcon('img/캣네생선.png')) self.setGeometry(300, 300, 400, 300) self.show() 프로그램무한반복 = QApplication(sys.argv) 실행인스턴스 = 그래프() 프로그램무한반복.exec_()

코드 - 2 (pyqtgraph)

import sys from PyQt5.QtWidgets import * from PyQt5.QtGui import * from PyQt5.QtCore import * import pyqtgraph as pg # pip install pyqtgraph import numpy as np class 그래프(QMainWindow): def __init__(self): super().__init__() self.UI초기화() def UI초기화(self): pg.setConfigOption('background', 'w') self.setCentralWidget(pg.plot([1,4,2,3,5])) self.setWindowIcon(QIcon('img/캣네생선.png')) self.setGeometry(300, 300, 400, 300) self.show() 프로그램무한반복 = QApplication(sys.argv) 실행인스턴스 = 그래프() 프로그램무한반복.exec_()

코드 - 3 (pyqtgraph)

import sys from PyQt5.QtWidgets import * from PyQt5.QtGui import * from PyQt5.QtCore import * import pyqtgraph as pg # pip install pyqtgraph import numpy as np class 그래프(QWidget): def __init__(self): super().__init__() 버튼 = QPushButton('hello') 라벨 = QLabel('world', self) pg.setConfigOption('background', 'w') 그래프 = pg.plot([1,4,2,3,5]) 가로정렬 = QHBoxLayout() 가로정렬.addWidget(버튼) 가로정렬.addWidget(라벨) 가로정렬.addWidget(그래프) self.setLayout(가로정렬) self.setGeometry(300, 300, 400, 400) self.show() 프로그램무한반복 = QApplication(sys.argv) 실행인스턴스 = 그래프() 프로그램무한반복.exec_()

코드 - 4 (Matplotlib)

import sys from PyQt5.QtWidgets import * from PyQt5.QtGui import * from PyQt5.QtCore import * import matplotlib.pylab as plt from matplotlib.backends.backend_qt5agg import FigureCanvasQTAgg as fc class 그래프(QWidget): def __init__(self): super().__init__() 버튼 = QPushButton('hello') 라벨 = QLabel('world', self) self.fig = plt.Figure() ax = self.fig.add_subplot(1, 1, 1) ax.grid() ax.plot([1, 2, 3], [10, 20, 30]) self.canvas = fc(self.fig) 가로정렬 = QHBoxLayout() 가로정렬.addWidget(버튼) 가로정렬.addWidget(라벨) 가로정렬.addWidget(self.canvas) self.setLayout(가로정렬) self.setGeometry(300, 300, 800, 400) self.show() 프로그램무한반복 = QApplication(sys.argv) 실행인스턴스 = 그래프() 프로그램무한반복.exec_()