在pyqtgraph中设置背景颜色时出现问题

2024-06-02 04:26:44 发布

您现在位置:Python中文网/ 问答频道 /正文

我在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方法中用'k'替换'w',散射的颜色是好的,背景是黑色的。其他人有没有遇到过这个问题?在


Tags: 模块代码颜色showpyqtgraph背景消失gl
3条回答

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

问题是GLScatterPlotItem有一个称为glOptions的选项。默认情况下,使用“加法”(参见pyqtgraph.opengl.GLGraphicsItem.GLOptions)。您可以将其更改为“半透明”,如下所示:

sp3.setGLOptions('translucent')

这样你就不会有任何问题改变背景颜色为白色,或散射颜色为黑色(我有两个问题)。在

在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()

我想原因是你没有设置前景色。 尝试:

import pyqtgraph as pg

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

相关问题 更多 >