pyqtgraph LinearRegionItem获取所选区域之间的曲线数据

时间:2015-10-30 07:54:31

标签: python pyqt pyqtgraph

我是pyqtGraph的新手并使用LinearRegionItem进行选择。有没有办法只为选择获取曲线数据? 对我来说,获取选择之间的数据非常重要。

指针在正确方向上的任何帮助都会有所帮助

$(".panel-primary").addClass('changeColorHeading');

1 个答案:

答案 0 :(得分:3)

Pyqtgraphs linearregionitem有一个名为sigRegionChanged的信号。

使用此信号时,regionItem会在用户拖动它或以编程方式更改时自行发出。使用getRegion(),您可以获得linearregionitem的低点和高点。

def regionUpdated(regionItem):
    lo,hi = regionItem.getRegion()
    print lo,hi
lr.sigRegionChanged.connect(regionUpdated)

这将在拖动时输出低位和高位,例如

9.50787175868 13.9172032101

如果您的红色曲线为numpy数组,那么您可以使用lo和hi对其进行切片。

red = np.random.normal(size=100)
red[9.50787175868:13.9172032101]

哪个给出了

[ 0.13231953 -0.5609786  -0.13632821  0.79973   ]

使用浮点数对索引数组进行切片可能会感觉有点奇怪,但numpy首先在索引上运行int(),基本上使调用变为红色[9:13]。有关详细信息,请参阅问题"Why ndarray allow floating point index?"

切片可以在regionUpdated中完成,然后您可以使用切片执行任何操作,例如打印它!

def regionUpdated(regionItem):
    lo,hi = regionItem.getRegion()
    print red[lo:hi]