将多字典数据转换为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
相关产品推荐
相关产品推荐

