2

これはウォーターフォール表現を試みる試みです。信号(配列)の値(振幅/レベル/密度)を、色合いではなく異なる色で表現する必要があります。私はアルゴリズムと信号処理の技術者です。私はソフトウェア開発者ではないので、カラー マップなどには詳しくありません。したがって、誰かが色と信号値を関連付けるためのコードを教えてくれれば幸いです。

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_()
4

1 に答える 1