PyQtGraph GLScatterPlotItem:如何使颜色不透明

PyQtGraph GLScatterPlotItem: How to make colors opaque

在 PyQtGraph 中,GLScatterPlotItem,我希望点重叠时不要将颜色混合在一起。我想看到最近的点,而不是后面的点。

我要求颜色不透明 (alpha = 1.0),但是当绘图中的点重叠时,颜色只会变成洋红色阴影,即使该区域中的所有点的颜色都非常相似。

这是一个例子:

plt = gl.GLScatterPlotItem(pos=coords, color=颜色, size=5, pxMode=True) 其中颜色是一种 'heat map',范围从红色到蓝色。

我得到的剧情是这样的:

你可以看到有一些红色,但真正重叠的地方,颜色很奇怪。

另一方面,如果我对size=1做简单的修改,那么颜色很好,但是点很小,很难看到:

这是两次完全相同的数据。您可以开始在点密度高的左侧和后方看到一点洋红色,但除此之外,颜色是正确的。

如何防止我的绘图放大?

非常感谢!

OpenGL 可能正在对点进行累加和饱和渲染。尝试:

plt.setGLOptions('opaque')

我运行也喜欢这个;默认选项适用于体积数据,但不适用于来自表面的密集点云。如果你想出了更好的东西,即带照明的局部补丁,post 回来吧!