Как правильно выбрать точки данных, используя ginput - PullRequest
0 голосов
/ 06 февраля 2019

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

...