0
저는 python3.5를 사용합니다. pyqt5에서 matplotlib을 사용하고 싶습니다. 아래 코드를 썼습니다. 그러나 버튼을 보여 주지만 그래프는 표시하지 않습니다. 내가 원하는 좌표로 그래프를 보여주고 싶습니다. 그래서 "레이아웃"명령을 사용하고 싶지 않습니다.pyqt5에서 matplotlib를 사용하고 싶지만 그래프가 표시되지 않습니다
import sys
from PyQt5 import QtWidgets
from matplotlib.backends.backend_qt5agg import FigureCanvasQTAgg as FigureCanvas
from matplotlib.backends.backend_qt5 import NavigationToolbar2QT as NavigationToolbar
import matplotlib.pyplot as plt
import random
class Window(QtWidgets.QDialog):
def __init__(self, parent=None):
super().__init__(parent)
self.setWindowTitle("グラフ")
self.setGeometry(300,300,500,500)
self.figure = plt.figure()
self.axes = self.figure.add_subplot(111)
# We want the axes cleared every time plot() is called
self.axes.hold(False)
self.canvas = FigureCanvas(self.figure)
self.canvas.move(0,0)
self.toolbar = NavigationToolbar(self.canvas, self)
self.toolbar.hide()
# Just some button
self.button1 = QtWidgets.QPushButton('Plot',self)
self.button1.clicked.connect(self.plot)
self.button1.move(0,400)
def plot(self):
''' plot some random stuff '''
data = [random.random() for i in range(25)]
self.axes.plot(data, '*-')
self.canvas.draw()
if __name__ == '__main__':
app = QtWidgets.QApplication(sys.argv)
main = Window()
main.setWindowTitle('Simple QTpy and MatplotLib example with Zoom/Pan')
main.show()
sys.exit(app.exec_())
고마워요! 코드는 내가 생각한대로 작동합니다. 귀하의 조언은 정확합니다. – toma