在pyqtgraph中设置背景颜色的问题

Issue in setting the background color in pyqtgraph

我在 python 中使用 pyqtgraph 模块时遇到问题。 当我将白色背景颜色添加到 glscatterplot 时,散点就消失了。这就像将背景颜色添加到散点图的颜色中,因此一切都是白色的。 这是我使用的一段代码:

w = gl.GLViewWidget()
w.setBackgroundColor('w')
w.show()
sp3 = gl.GLScatterPlotItem(pos=np.transpose(pos3), color=rgba_img, size=1, pxMode=False)
w.addItem(sp3)

如果我在 setBackgroundColor 方法中将 ('w') 替换为 ('k'),散点图的颜色很好,背景为黑色。还有其他人遇到过这个问题吗?

我认为是你没有设置前景色。 尝试:

import pyqtgraph as pg

pg.setConfigOption('background', 'w')
pg.setConfigOption('foreground', 'k')

在 pyqtgraph 中,您在 QPaintDevice 之前构造一个 QApplication:

import pyqtgraph as pg

def mkQApp():
    global QAPP
    QtGui.QApplication.setGraphicsSystem('raster')
    # work around a variety of bugs in the native graphics system
    inst = QtGui.QApplication.instance()
    if inst is None:
        QAPP = QtGui.QApplication([])
    else:
        QAPP = inst
    return QAPP


app = pg.mkQApp()
view  = pg.GraphicsView()#useOpenGL = True)
color='w'
view.setBackground(color)
view.show()

那么你可以使用:plot = pg.PlotItem()

我遇到了同样的问题,我在这里找到了解决方案:https://github.com/pyqtgraph/pyqtgraph/issues/193。我认为这是同一个问题,所以您可能已经知道解决方案,但我在这里报告它已简化,因为。

问题是 GLScatterPlotItem 有一个名为 glOptions 的选项。默认情况下,使用 'additive'(请参阅 pyqtgraph.opengl.GLGraphicsItem.GLOptions)。您可以像这样将其更改为 'translucent':

sp3.setGLOptions('translucent')

通过这种方式,将背景颜色更改为白色和将散点颜色更改为黑色都不会有任何问题(我遇到了这两个问题)。