Python 如何更改图形画布颜色(PyQt)

Python 如何更改图形画布颜色(PyQt),python,matplotlib,canvas,pyqt5,figure,Python,Matplotlib,Canvas,Pyqt5,Figure,如何设置我的人物的背景色?我想使用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

如何设置我的人物的背景色?我想使用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;")
?


(基于一些)

我从未使用过matplotlib,也没有测试过这个答案,但在这里猜测

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


(基于一些)

在通常情况下,图形背景和画布背景之间没有区别。因此,您可以将图形背景设置为某种颜色

self.fig.set_facecolor("blue")
如果您不想更改图形的背景颜色(我现在想不出任何原因,但可能有一个用例),您需要使图形背景透明,以便画布背景颜色可以穿透

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

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

在通常情况下,图形背景和画布背景没有区别。因此,您可以将图形背景设置为某种颜色

self.fig.set_facecolor("blue")
如果您不想更改图形的背景颜色(我现在想不出任何原因,但可能有一个用例),您需要使图形背景透明,以便画布背景颜色可以穿透

self.fig.set_facecolor("none")
self.setStyleSheet("background-color:blue;")
提供了一些见解和测试代码。

其他答案的作者说:是的,但是。。。。您还需要使图形透明,以便可以看到画布背景的红色。看看我的答案。顺便说一句,如果你使用了其他答案的内容,那么对它进行更新不是很好吗?因为使用它会使它变得有用,对吗?《其他答案》的作者说:是的,但是。。。。您还需要使图形透明,以便可以看到画布背景的红色。看看我的答案。顺便说一句,如果你使用了其他答案的内容,那么对它进行升级不是很好吗?因为使用它会让它变得有用,对吗?