from PyQt5 import QtWidgets from matplotlib.figure import Figure from matplotlib.backends.backend_qt5agg import FigureCanvasQTAgg as Canvas import matplotlib # This was stolen from stackoverflow.com/questions/43947318 # Ensure using PyQt5 backend matplotlib.use('QT5Agg') # Matplotlib canvas class to create figure class MplCanvas(Canvas): def __init__(self): self.fig = Figure() self.ax = self.fig.add_subplot(111) Canvas.__init__(self, self.fig) Canvas.setSizePolicy(self, QtWidgets.QSizePolicy.Expanding, QtWidgets.QSizePolicy.Expanding) Canvas.updateGeometry(self) # Matplotlib widget class Mplwidget(QtWidgets.QWidget): def __init__(self, parent=None): QtWidgets.QWidget.__init__(self, parent) # Inherit from QWidget self.canvas = MplCanvas() # Create canvas object self.vbl = QtWidgets.QVBoxLayout() # Set box for plotting self.vbl.addWidget(self.canvas) self.setLayout(self.vbl)