python - 根据pyqtgraph.opengl中的信号值调整曲面图项的颜色

标签 python opengl pyqtgraph

这是尝试进行瀑布表示。 我需要用不同的颜色而不是用阴影来表达信号(数组)值(幅度/级别/密度)。 因为我是一名算法和信号处理工程师。我不是软件开发人员,我不熟悉彩色图和这些东西。因此,如果有人可以帮助我编写将颜色与信号值相关联的代码。

from pyqtgraph.Qt import QtCore, QtGui
import pyqtgraph.opengl as gl
import scipy.ndimage as ndi
import numpy as np

Nf = 90     # No. of frames
Ns = 100    # Signal length

app = QtGui.QApplication([])

w_SA = QtGui.QWidget(); w_SA.setFixedSize(400, 400)

# Create a GL View widget to display data
plt_SA1 = gl.GLViewWidget(w_SA); plt_SA1.move(10, 10); plt_SA1.resize(380, 380)
plt_SA1.setCameraPosition(elevation=90.0, azimuth=0.0, distance=70)
p1 = gl.GLSurfacePlotItem(shader='shaded', color=(0.5, 0.5, 1, 1), smooth=False)
p1.translate(-Nf/2, -Ns/2, 0)
plt_SA1.addItem(p1)

Arx = np.zeros([Nf, Ns])
def update():
    global Arx
    Arx = np.roll(Arx, 1, axis=0)
    Arx[0] = ndi.gaussian_filter(np.random.normal(size=(1,Ns)), (1,1))
    p1.setData(z=Arx)
timer = QtCore.QTimer()
timer.timeout.connect(update)
timer.start(30)

w_SA.show()

if __name__ == '__main__':
    import sys
    if (sys.flags.interactive != 1) or not hasattr(QtCore, 'PYQT_VERSION'):
        QtGui.QApplication.instance().exec_()

最佳答案

您能更具体地说明您希望如何对图像进行着色吗?如果您不需要 OpenGL,这里有一个使用 pyqtgraph.ImageView 的更简单的解决方案。您可以右键单击右侧的渐变栏来更改用于为图像着色的查找表。还有多种方法可以手动设置此表,具体取决于所需的效果。

from pyqtgraph.Qt import QtCore, QtGui
import pyqtgraph as pg
import scipy.ndimage as ndi
import numpy as np

Nf = 90     # No. of frames
Ns = 100    # Signal length

app = QtGui.QApplication([])

Arx = np.zeros([Nf, Ns])
win = pg.image(Arx)
win.view.setAspectLocked()
def update():
    global Arx
    Arx = np.roll(Arx, 1, axis=0)
    Arx[0] = ndi.gaussian_filter(np.random.normal(size=(1,Ns)), (1, 1))
    win.setImage(Arx.T, autoRange=False)

timer = QtCore.QTimer()
timer.timeout.connect(update)
timer.start(30)

if __name__ == '__main__':
    import sys
    if (sys.flags.interactive != 1) or not hasattr(QtCore, 'PYQT_VERSION'):
        QtGui.QApplication.instance().exec_()

关于python - 根据pyqtgraph.opengl中的信号值调整曲面图项的颜色,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/18837658/

相关文章:

python - 在 Amazon AWS 中运行 Selenium 文件

python - 如何根据Python中数据帧中其他列的值/计数来计算数据帧中列的值?

c++ - OpenGL计算着色器中线程的执行顺序

c++ - wglMakeCurrent 在 x64 上失败

python - 如何记录拉伸(stretch) FITS 图像并更改其对比度?

python - 是否可以使用 Django 模板处理器处理任意内容?

c++ - Qt OpenGL 渲染文本问题 QGLWidget

python - 将绘图嵌入到 PyQt5 中的图形 View 中

python - 实时数据监视器 : PyQtGraph

python - PyQtGraph PlotWidget : how to force each draw (changing range) for "real time" plotting