如何使用ginput

时间:2019-02-06 11:27:03

标签: python matplotlib spectrum ginput peakutils

是否可以使用ginput精确选择我的数据点坐标?

大家好。我正在尝试使用ginput定义函数的最大值和最小值,以交互方式选择似乎是这样的数据点。我尝试使用peakutils,但是由于我的信号有时非常嘈杂,因此我更愿意自己选择它们。我写了代码,ginput运行得很好...唯一的问题是ginput无法识别实际的功能点。有没有办法使用ginput精确选择我的数据点坐标?

enter code here

#fiting function
 plt.scatter(xnew, 1-f(xnew), color='g')

#select max & min
print "Select min from fit"
valley=plt.ginput(-1, show_clicks=True, timeout=0)

print "Select max from fit"
peak=plt.ginput(-1, show_clicks=True, timeout=0)

#save coordinates into lists
Xd=[x[0] for x in valley]
Yd=[y[1] for y in valley]

Xu=[x[0] for x in peak]
Yu=[y[1] for y in peak]

###slice the x function in intervals by finding the minimum indices

for i in range(0,dim-1):
for j in range(0,dime-1):
     if xnew[j]>Xu[i] or xnew[j]==Xu[i]:
        if xnew[j]<Xu[i+1] or xnew[j]==Xu[i+1]:
            temp.append(xnew[j])
            pos.append(j)
i=i+2
enter code here

实际上,我期望的是pos中包含一些重复元素的列表,这些元素是我的峰的xnew(一个10000个元素的数组)中的索引。

0 个答案:

没有答案