class MplCanvas(FigureCanvas): """Ultimately, this is a QWidget (as well as a FigureCanvasAgg, etc.).""" logger = None def __init__(self, parent=None, width=5, height=4, dpi=100): self.fig = Figure(figsize=(width, height), dpi=dpi) self.plot = self.fig.add_subplot(1, 1, 1) FigureCanvas.__init__(self, self.fig) self.setParent(parent) FigureCanvas.setSizePolicy(self, QtWidgets.QSizePolicy.Expanding, QtWidgets.QSizePolicy.Expanding) FigureCanvas.updateGeometry(self) def setBackgroundByRGB(self, r, g, b): rgbColor = (r / 255, g / 255, b / 255, 1.0) self.fig.patch.set_facecolor(rgbColor) def setBackgroundByQColor(self, bgcolor): rgbColor = (bgcolor.red() / 255, bgcolor.green() / 255, bgcolor.blue() / 255, 1.0) self.fig.patch.set_facecolor(rgbColor) ###self.logger.debug("setting background: %r", rgbColor) def showFigure(self, show): currVis = self.fig.get_visible() if currVis == show: return self.fig.set_visible(show) self.draw() ## QWidget draw