Error using FigureCanvasQTAgg in MatplotlibWidget pyqt5
Ich möchte mit pyqt5 und matplotlib auf meiner GUI zeichnen. Ich habe eine Klasse namens MatplotlibWidget erstellt, die die Figur und Leinwand meines Plots erstellt. Ich habe jedoch ein Problem damit, meine Zeichenfläche mit der Funktion FigureCanvasQTAgg (die eine matplotlib-Funktion ist) zu generieren.
Hier ist der Teil meines Codes, der fehlerhaft ist:
import matplotlib.pyplot as plt
from matplotlib.backends.backend_qt4agg import FigureCanvasQTAgg
from matplotlib.figure import Figure
#Some more code...not relevant
class MatplotlibWidget(QWidget):
def __init__(self):
QWidget.__init__(self)
self.fig = Figure()
self.canvas = FigureCanvasQTAgg(self.fig) #line 86
self.axis = self.fig.add_subplot(111)
self.layoutVerticalTest = QVBoxLayout(self)
self.layoutVerticalTest.addWidget(self.canvas)
Ich habe diesen Fehler:
File "/Users/AlexisTuil/Desktop/projet inno/sc_analysis/visualisation.py", line 86, in
__init__self.canvas = FigureCanvasQTAgg(self.fig)
File "/usr/local/lib/python3.5/site packages/matplotlib/backends/backend_qt4agg.py", line 76, in
__init__FigureCanvasQT.__init__(self, figure)
File "/usr/local/lib/python3.5/site-packages/matplotlib/backends/backend_qt4.py", line 71, in
__init__QtWidgets.QWidget.__init__(self)
TypeError: __init__() missing 1 required positional argument: 'figure'
Abort trap: 6
Ich habe in vielen Foren gesucht, aber ich konnte keine Lösung für mein Problem finden. Ich verstehe nicht, warum es ein fehlendes "Positionsargument" gibt. Bitte hilf mir
Ich bin auf MacOS El Capitan mit python3.5 64bit. Ich habe matplotlib mit pip installiert, wenn es helfen kann.
Danke Leute :