python - 绘制直方图的峰值
问题描述
我试图弄清楚如何绘制简单直方图的峰值,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")
解决方案
你应该试试:
plt.plot(bin_edges[peaks], hist[peaks], "x")
find_peaks
hist
为您提供信号中局部最大值的索引。
您的x-values
直方图 是bin_edges
和 由y-values
给出hist
。peaks
因此,您必须查找每个系列中给出的索引。
推荐阅读
- java - 编译致命错误:无效的目标版本:12 -> [帮助 1]
- typescript - NestJS/graphql 拦截 graphql 响应
- python - 终止和重新启动进程
- python - Pandas:如何在具有现有字符串数据列的数据框中创建两个新列
- azure-active-directory - Is there a way to get the deleted security groups from Microsoft Graph API?
- python - Django+ HTML:/HomeFeed/ 处的 EmptyPage 错误:此页面没有错误
- python - Python - selenium-wire 中的代理不隐藏 IP
- asp.net-core - 使用 TreeView 控件在选项卡内进行 Blazor 路由或导航
- java - 用最小二乘法求解 A * w = b 的 QR 因子分解
- netlogo - 当x数量的补丁离开时与其他乌龟断开链接?