Exemple #1
0
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