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

将多字典数据转换为DataFrame并绘制单一线性多折线图

将字典转换为DataFrame并绘制多折线图

没问题,我来帮你一步步搞定这个需求!咱们需要用到pandas来处理数据,matplotlib.pyplot来绘图,要是还没装这两个库,直接跑pip install pandas matplotlib就能安装好。

步骤1:导入库并定义原始数据

先把需要的工具库导入,再把你的四个字典数据定义出来:

import pandas as pd
import matplotlib.pyplot as plt

# 你的原始字典数据
d1={'01-01-2018':15,'02-01-2018':15,'03-01-2018':15}
d2={'01-01-2018':20,'02-01-2018':25,'03-01-2018':56}
d3={'01-01-2018':10,'02-01-2018':14,'03-01-2018':45}
d4={'01-01-2018':18,'02-01-2018':15,'03-01-2018':15}

步骤2:转换为结构化的DataFrame

把四个字典整合成一个以系列名称为键的大字典,再用pd.DataFrame转换,这样日期会自动成为索引,每个字典对应一列数据。另外建议把日期字符串转成datetime类型,让X轴的日期显示更规范:

# 整理成便于转换的格式
data_dict = {
    'd1': d1,
    'd2': d2,
    'd3': d3,
    'd4': d4
}

# 转换为DataFrame
df = pd.DataFrame(data_dict)
# 将索引转换为datetime类型,format参数对应你的日期格式:日-月-年
df.index = pd.to_datetime(df.index, format='%d-%m-%Y')

步骤3:绘制多折线图

DataFrame自带的plot方法可以直接生成折线图,咱们再加上一些图表装饰,让它更易读:

# 生成折线图,设置画布大小
df.plot(kind='line', figsize=(10, 6))

# 设置坐标轴标签和标题
plt.xlabel('日期')
plt.ylabel('数值')
plt.title('d1-d4系列日期-数值折线图')

# 添加图例标题和网格线(可选,提升可读性)
plt.legend(title='数据系列')
plt.grid(True, linestyle='--', alpha=0.7)

# 显示图表
plt.show()

运行这段代码后,你就能得到一张清晰的多折线图:X轴是格式化后的日期,Y轴是对应数值,四条折线分别对应d1到d4的数据。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.05.21 08:03:44