You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

如何统计pyplot图表峰值数量并根据峰值存在执行不同操作

根据峰值存在与否执行不同操作的实现方案

原实现代码

BytesReceived = df.iloc[:,0].values
print(type(BytesReceived)) #1d array
    
print(currentThreshold)
peaks = find_peaks(BytesReceived, height = currentThreshold)[0]
plt.plot(BytesReceived)  
plt.plot(peaks, BytesReceived[peaks],"X")
plt.show()

需求说明

我使用find_peaks函数(上述代码)查找图表中的峰值。但在图表中展示峰值后,希望根据峰值是否存在输出不同结果——有峰值时执行某操作,无峰值时执行另一操作。初步打算通过统计峰值数量设置判断条件,寻求相关帮助。

解决方案

find_peaks返回的第一个元素peaks是存储所有峰值索引的numpy数组,直接通过数组长度就能判断峰值是否存在,进而分支执行不同操作:

# 接原代码的绘图部分之后
if len(peaks) > 0:
    print(f"检测到{len(peaks)}个峰值,执行目标操作")
    # 在这里编写有峰值时的业务逻辑,比如数据导出、触发告警等
else:
    print("未检测到峰值,执行对应操作")
    # 在这里编写无峰值时的业务逻辑,比如记录日志、触发默认流程等

逻辑说明

  • len(peaks)会直接返回峰值的数量,当数值大于0时说明存在至少一个峰值;
  • 等于0则说明没有符合阈值条件的峰值,逻辑清晰且易于维护。

内容的提问来源于stack exchange,提问作者auriX007

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.08.17 04:20:33