【问题标题】:plot multiple dictionaries/dataframes in a single linear graph在单个线性图中绘制多个字典/数据框
【发布时间】:2018-04-01 18:24:39
【问题描述】:

我正在从多个字典中的某个来源收集数据,如下所示

d1={'01-01-2018':15,'02-01-2018':15,'03-01-2018':15}
d1={'01-01-2018':20,'02-01-2018':25,'03-01-2018':56}
d1={'01-01-2018':10,'02-01-2018':14,'03-01-2018':45}
d1={'01-01-2018':18,'02-01-2018':15,'03-01-2018':15}

每个字典都有日期和值。现在我想将它们转换为数据框,然后绘制在一个线性图中(d1,d2,d3,d4x axis 有 4 行 - 日期、y axis - 值)

如果多个字典不方便在单个图中绘制,我可以收集然后在其他合适的数据结构(列表)中

【问题讨论】:

  • 您的意思是d1 = ... d2 = ... 等吗?现在它只是覆盖了d1 四次。

标签: python pandas matplotlib


【解决方案1】:
df = pd.DataFrame({'d1': d1, 'd2': d2, 'd3': d3, 'd4': d4})
df.reindex(pd.to_datetime(df.index)).plot()

【讨论】:

  • 谢谢!这行得通。虽然收集数据字典并命名它们(当我不知道我需要构建多少时)。有没有其他方式(字典/列表)来动态收集数据并绘制它们。
  • 如果您不知道要构建多少行并且不介意名称;您可以将它们收集在列表中并从那里开始。 lst = [d1, d2, d3, d4]; pd.DataFrame(lst).T.plot()。这不会给你作为命名字典的有意义的传说,只有 1,2,3,4... 如果这满足你的需要。
猜你喜欢
  • 2022-01-06
  • 1970-01-01
  • 2016-10-07
  • 1970-01-01
  • 2023-03-05
  • 2021-01-25
  • 2018-07-28
  • 1970-01-01
  • 2022-11-12
相关资源
最近更新 更多