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

如何在一张图表中绘制多个DataFrame数据

解决多DataFrame折线图同窗口显示问题

你需要先创建一个共用的绘图轴(Axes)对象,然后在循环中让每个DataFrame的折线图都绘制到这个轴上。修改后的代码如下:

import matplotlib.pyplot as plt

def plot(my_dict):
    # 初始化共用绘图轴
    ax = None
    for key in my_dict:
        df = my_dict[key]
        # 第一次循环创建轴,后续循环复用已有轴
        ax = df.plot.line(x='c', y='i', ax=ax, label=key)
    plt.legend()  # 显示图例区分不同DataFrame的折线
    plt.show()

关键说明:

  • ax=ax 参数:第一次调用df.plot.line()时,ax为None,pandas会自动创建新的Axes对象并返回;后续循环传入这个已有的Axes,所有折线就会绘制在同一张图上。
  • 添加label=key和plt.legend():通过图例区分不同字典键对应的折线,方便识别每条线的来源。

Linux终端运行注意事项:

如果终端中绘图显示异常,确保matplotlib使用了适配的后端(比如TkAgg支持窗口显示,Agg用于生成图片文件)。可在代码开头添加:

import matplotlib
matplotlib.use('TkAgg')  # 根据你的终端环境选择合适后端

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.08.17 04:45:32