Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- #!/usr/bin/env python
- # coding: utf-8
- #testplot
- #plt.plot(arrayX,arrayY)
- #plt.axvline(arrayX[x_firstmaxima],color="red")
- #finde alle möglichen Plateaus
- minimum = min(arrayY)
- maximum = max(arrayY)
- r = maximum-minimum
- factor = 0.03
- off = r*factor
- old = arrayY[0]
- flats = []
- temp = []
- for x,v in enumerate(arrayY):
- if old-off < v < old+off:
- temp.append(x)
- else:
- flats.append(temp)
- temp = []
- old=v
- if len(temp)!=0:
- flats.append(temp)
- #nur Plateaus nach dem maximum
- relevant_flats = []
- for flat in flats:
- try:
- if flat[0] > x_firstmaxima and len(flat)>10:
- relevant_flats.append(flat)
- except:
- pass
- #nur Anfang und Ende jedes Plateaus ermitteln
- beginend_flats = []
- for flat in relevant_flats:
- beginend_flats.append([flat[0],flat[-1]])
- #neuer Plot
- plt.plot(arrayX,arrayY)
- plt.axvline(arrayX[x_firstmaxima],color="red")
- for flat in beginend_flats:
- plt.axvline(arrayX[flat[0]],color="green")
- plt.axvline(arrayX[flat[1]],color="red")
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement