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

如何为每个x值提取对应最大y值以绘制函数型图像?

解决同一X值对应多个Y值时提取最大Y值绘图的问题

你当前代码的问题是用了全局列表d存储所有符合条件的Y值,导致每次取的是所有Y的最大值,而非当前X对应的Y的最大值。要解决这个问题,我们可以用字典按X值分组存储对应的Y值,让每个X拥有独立的Y列表,之后再提取每个组的最大值绘图。

修改后的示例代码

import matplotlib.pyplot as plt

test_list=[(257.4, -6.0), (654.3, -3.0),(257.4, -9.0),(754.3, -0.0),(354.3, -11.0),(257.4, -5.0),(454.3, -10.0)]

# 用字典存储每个x对应的y值列表
x_y_dict = {}
for h, j in test_list:
    x_key = int(h)
    if x_key > 256:
        # 若x键不存在,初始化空列表
        if x_key not in x_y_dict:
            x_y_dict[x_key] = []
        # 将当前y值追加到对应x的列表中
        x_y_dict[x_key].append(j)

# 遍历字典,提取每个x对应的最大y值并绘图
for x_key, y_list in x_y_dict.items():
    max_y = max(y_list)
    plt.plot(x_key, max_y, ".")
    print(f"x={x_key} 对应的最大y值: {max_y}")

plt.show()

代码逻辑说明

  1. 分组存储Y值:通过字典x_y_dict,以处理后的X值(int(h))为键,对应存储该X下所有符合条件的Y值列表,确保每个X的Y值独立维护。
  2. 筛选与收集:遍历原始点列表时,仅处理int(h)>256的点,将Y值追加到对应X键的列表中。
  3. 提取最大值绘图:遍历字典的键值对,对每个X对应的Y列表取最大值,再执行绘图操作,保证每个X使用的是自身对应Y值的最大值。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.07.05 16:22:46