我是pyqtGraph的新手并使用LinearRegionItem进行选择。有没有办法只为选择获取曲线数据? 对我来说,获取选择之间的数据非常重要。
指针在正确方向上的任何帮助都会有所帮助
$(".panel-primary").addClass('changeColorHeading');
答案 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]