如何改变图Canvas颜色(PyQt)

How to change the Figure Canvas Color (PyQt)

如何设置图形的背景颜色?我想使用 FigureCanvasQTAgg。

from PyQt5 import QtCore, QtWidgets, QtWidgets
from matplotlib.backends.backend_qt5agg import FigureCanvasQTAgg
from matplotlib.backends.backend_qt5 import NavigationToolbar2QT
from matplotlib.figure import Figure


class FigureCanvas(FigureCanvasQTAgg):
    def __init__(self, parent=None, width=5, height=4, dpi=100):
        self.fig = Figure(figsize=(width, height), dpi=dpi)
        FigureCanvasQTAgg.__init__(self, self.fig)
        self.setParent(parent)
        FigureCanvas.setSizePolicy(
            self,
            QtWidgets.QSizePolicy.Expanding, QtWidgets.QSizePolicy.Expanding,
        )
        FigureCanvas.updateGeometry(self)   

我从来没有用过matplotlib,也没有测试过这个答案,但是在这里猜测...

self.setStyleSheet("background-color:red;")

?

(基于一些

一般情况下,人物背景和canvas背景没有区别。所以你可以将图形背景设置为某种颜色

self.fig.set_facecolor("blue")

如果你不想改变图形的背景颜色(我现在想不出任何原因,但也许有一个用例),你需要使图形背景透明,这样canvas 背景色可以透亮,

self.fig.set_facecolor("none")
self.setStyleSheet("background-color:blue;")

提供了一些见解和测试代码。