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

如何基于CSV数据在指定锚点叠加多组曲线图以对比分析

实现以“大幅下降”点为锚点的曲线叠加对比

核心思路

要让多组曲线在大幅下降点对齐,关键是将每组数据的时间轴以自身的下降锚点为基准平移,使所有曲线的下降点都落在x=0位置,这样就能直观对比下降前后的趋势差异。

具体实现步骤

  1. 定位每组数据的下降锚点:通过计算Kanal A的相邻差值,找到降幅最大的点,该点对应的时间即为锚点时间。
  2. 调整时间轴:将每组数据的Zeit列减去锚点时间,让锚点位置的x坐标变为0。
  3. 绘制对齐后的曲线:使用调整后的时间轴绘图,添加图例、坐标轴标签等增强可读性。

修改后的代码

import pandas as pd
import matplotlib.pyplot as plt

def find_drop_anchor(df, value_col='Kanal A'):
    # 计算相邻值的差值,降幅最大的点对应最小的差值(负数)
    diffs = df[value_col].diff()
    # 找到降幅最大的索引(排除第一个NaN值)
    anchor_idx = diffs[1:].idxmin()
    # 返回锚点对应的时间值
    return df.loc[anchor_idx, 'Zeit']

# 读取数据
data_files = ['data1.csv', 'data2.csv', 'data3.csv', 'data4.csv']
datasets = []
labels = ['Dataset 1', 'Dataset 2', 'Dataset 3', 'Dataset 4']

for file in data_files:
    df = pd.read_csv(file, delimiter=";", decimal=",")
    # 找到锚点时间并调整时间轴
    anchor_time = find_drop_anchor(df)
    df['Adjusted Zeit'] = df['Zeit'] - anchor_time
    datasets.append(df)

# 绘制对齐后的曲线
plt.figure(figsize=(10, 6))
for df, label in zip(datasets, labels):
    plt.plot(df['Adjusted Zeit'], df['Kanal A'], label=label)

# 添加辅助线(x=0对应下降锚点)
plt.axvline(x=0, color='red', linestyle='--', alpha=0.7, label='下降锚点')

# 美化图表
plt.xlabel('调整后的时间(以下降点为0基准)')
plt.ylabel('Kanal A 值')
plt.title('多组数据以下降锚点对齐对比')
plt.legend()
plt.grid(True, alpha=0.3)

plt.show()
plt.close()

代码解释

  • find_drop_anchor函数:通过diff()计算数值变化,找到降幅最大的点,返回该点的原始时间作为锚点。
  • 时间轴调整:对每组数据的Zeit做平移,让锚点位置统一到x=0,这样所有曲线的下降拐点都对齐。
  • 辅助线:添加红色虚线标记x=0位置,清晰显示锚点对齐的位置。

补充说明

如果你的“大幅下降”定义有特殊规则(比如降幅超过某个阈值、连续下降的起始点),可以修改find_drop_anchor函数的逻辑,比如增加阈值判断:

def find_drop_anchor(df, value_col='Kanal A', threshold=-10):
    diffs = df[value_col].diff()
    # 筛选出降幅超过阈值的点,再找最大降幅
    valid_diffs = diffs[diffs < threshold]
    if not valid_diffs.empty:
        anchor_idx = valid_diffs.idxmin()
        return df.loc[anchor_idx, 'Zeit']
    # 如果没有符合阈值的点, fallback到原逻辑
    anchor_idx = diffs[1:].idxmin()
    return df.loc[anchor_idx, 'Zeit']

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.08.10 05:05:21