Есть ли способ выбрать точно мои координаты данных, используя 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 элементов)из моих пиков.