使用pyqtgraph.PlotCurveItem绘制波形图时,设置fillLevel 参数后,正负都填充,我现在只想y>0时进行填充,y<0时绘制波形,应该怎么办?代码如下:
from PySide6.QtGui import *
from PySide6.QtCore import *
from PySide6.QtWidgets import *
import numpy as np
import sys
import pyqtgraph as pg
class plotWindow(QMainWindow):
def __init__(self, inputPath = None, parent = None):
super().__init__(parent)
self.resize(1200,800)
pg.setConfigOption('background', 'w')
pg.setConfigOption('foreground', 'k')
pg.setConfigOption('useNumba', True)
pg.setConfigOption('leftButtonPan', True) # 左键拖动
pg.setConfigOption('antialias', True) # 抗锯齿
self.plot = pg.PlotWidget()
self.setCentralWidget(self.plot)
self.plot.disableAutoRange(True)
x = np.arange(6000)
curves = []
for i in range(500):
y = np.random.uniform(-1,1,6000)
curve_fill = pg.PlotCurveItem(x, y,
pen = ({'color': 'k', 'width': 0.2}),
fillLevel = 0,
brush= (0,0,0,255),
skipFiniteCheck=True)
curve_fill.setPos(0, i)
curves.append(curve_fill)
for c in curves:
self.plot.addItem(c)
self.plot.setYRange(0, 500, padding = 0)
self.plot.setXRange(0, 6000, padding = 0)
if __name__ == '__main__':
app = QApplication(sys.argv)
window = plotWindow()
window.show()
sys.exit(app.exec())