我试图弄清楚如何使用scipy.signal.find_peaks
绘制简单直方图的峰,但是发现的峰似乎很远。
ages = np.array([10, 5, 22, 13, 50, 45, 67, 30, 21, 34, 60, 67, 89, 45, 45, 65])
hist, bin_edges = np.histogram(ages, 10)
bin_edges = bin_edges[1:]
plt.plot(bin_edges, hist)
peaks, _ = find_peaks(hist)
plt.plot(ages[peaks], peaks, "x")
答案 0 :(得分:2)
您应该尝试:
plt.plot(bin_edges[peaks], hist[peaks], "x")
find_peaks
为您提供hist
信号中局部最大值的索引。
直方图的x-values
为bin_edges
,而y-values
由hist
给出。因此,您必须在每个系列中寻找peaks
给出的索引。