首页 > 解决方案 > 绘制直方图的峰值

问题描述

我试图弄清楚如何绘制简单直方图的峰值,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")

绘制的峰值

标签: pythonmatplotlibscipy

解决方案


你应该试试:

plt.plot(bin_edges[peaks], hist[peaks], "x")

find_peakshist为您提供信号中局部最大值的索引。

您的x-values直方图 是bin_edges和 由y-values给出histpeaks因此,您必须查找每个系列中给出的索引。


推荐阅读