Error al utilizar FigureCanvasQTAgg en MatplotlibWidget pyqt5

Me gustaría trazar en mi GUI con pyqt5 usando matplotlib. He creado una clase llamada MatplotlibWidget que crea la figura y el canvas de mi ttwig. Pero tengo un problema para generar mi canvas con la función FigureCanvasQTAgg (que es una función matplotlib).

Aquí la parte de mi código que está fastidiando:

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) 

Tengo este error:

 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 

He buscado en muchos foros pero no pude encontrar una solución a mi problema. No entiendo por qué falta un “argumento posicional”. Por favor, ayúdame !

Estoy en MacOS El Capitán con python3.5 64bit. Instalé matplotlib con pip si puede ayudar.

Gracias chicos 🙂

Si usa pyqt5, haga esto:

 from matplotlib.backends.backend_qt5agg import FigureCanvasQTAgg