2017-11-14 32 views
0

図の背景色を設定するにはどうすればよいですか?私は、FigureCanvasQTAggを使用したいと思います。図キャンバスの色(PyQt)を変更する方法

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) 

答えて

3

通常の状況下で、図の背景とキャンバスの背景の違いはありません。だから、あなたがフィギュアの背景色を変更したくない場合は、いくつかの色

self.fig.set_facecolor("blue") 

にFigureの背景を設定することが(私は今、どのような理由を考えることはできませんが、多分1つのユースケースがあります)、あなたはと遊ぶためにいくつかの洞察力と、テストコードを与える

This answer of mine

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

、キャンバスの背景色が透けて見えることができるように、図の背景を透明にする必要があります。

1

私はmatplotlibの使用なく、またこの答えをテストしたが、ここでは推測たことがない...

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

? (いくつかのother answerに基づく)

+1

"その他の回答"の著者は次のように述べています:はい、しかし、キャンバスの背景の赤色が見えるように図を透明にする必要もあります。私の答えを見てください。 Btw。あなたが他の答えの内容を使っているなら、それをアップヴォートするのはいいのではないでしょうか? – ImportanceOfBeingErnest

+0

@ImportanceOfBeingErnest - obv。両方ともupvoted。 –