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

如何为两个同结构DataFrame的每列绘制含实际值与预测值的子图?

实现双DataFrame列对应折线对比图

你可以通过循环遍历共享列,在同一个画布中分别绘制实际值和预测值的折线,具体代码如下:

import matplotlib.pyplot as plt

# 遍历每个共同列(两DataFrame结构一致,列名完全匹配)
for col_name in df_iter_actuals.columns:
    # 创建指定尺寸的画布
    plt.figure(figsize=(10, 8))
    # 绘制实际值折线,添加标记点和标签
    plt.plot(df_iter_actuals.index, df_iter_actuals[col_name], 
             label='实际值', marker='o', linestyle='-')
    # 绘制预测值折线,用不同标记区分
    plt.plot(df_iter_preds.index, df_iter_preds[col_name], 
             label='预测值', marker='s', linestyle='--')
    
    # 设置图表标题与坐标轴标签
    plt.title(f'{col_name} 实际值与预测值对比')
    plt.xlabel('月份')
    plt.ylabel('数值')
    
    # 添加图例,区分两组数据
    plt.legend()
    # 自动调整布局,防止标签被遮挡
    plt.tight_layout()
    # 展示当前图表
    plt.show()

关键说明:

  • 因为两个DataFrame结构完全一致,直接遍历其中一个的列名即可覆盖所有共享列
  • 使用不同的标记点(marker='o'/marker='s')和线型(实线/虚线),能更直观区分实际值和预测值
  • 如果需要保存图表,可在plt.show()前添加plt.savefig(f'{col_name}_对比图.png', dpi=300),按列名自动命名保存

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.08.09 22:31:10