如何解决在marplot.lib上使用来自scipy的find_peaks中的突出显示会导致不良读取
我的原始图的最大x值约为450,但是当我打印出峰时,其中有670。 当我打印出峰时,它表示等于[45 85 539 677]。我看着Image of graph + peak
import csv
import matplotlib.pyplot as plt
import numpy as np
from scipy.signal import find_peaks
r = csv.reader(open("/Users/briansong/Library/Mobile Documents/com~apple~CloudDocs/Downloads/Sonar 2020-10-27 22-50-05/Echo location.csv"))
lines = list(r)
distance = []
cc = []
for i in range(1,len(lines)):
a = lines[i][0]
b = lines[i][1]
if b == "" or a == "":
break
index1 = a.find("E")
index2 = b.find("E")
num1 = float(a[:index1])
num2 = float(b[:index2])
distance.append(num1 * 10 ** float(a[index1 + 1:]))
cc.append(num2 * 10 ** float(b[index2 + 1:]))
plt.xlabel("distance")
plt.ylabel("CC")
x = np.array(distance)
y = np.array(cc)
peaks,_ = find_peaks(y,prominence= 0.03)
print(peaks)
plt.plot(x,y)
plt.plot(peaks,y[peaks],'x')
plt.show()
# plt.plot(distance,poly_y)
plt.show()
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。