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

时间:2017-11-14 19:31:30

标签: 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


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)   

2 个答案:

答案 0 :(得分:3)

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

self.fig.set_facecolor("blue")

如果您不想更改图形的背景颜色(我现在无法想到任何原因,但也许有一个用例),您需要制作图形背景透明,使画布背景颜色可以透过,

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

This answer of mine提供了一些见解以及可以使用的测试代码。

答案 1 :(得分:1)

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

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

(基于某些other answer