【发布时间】:2018-01-22 22:07:16
【问题描述】:
我有一个看起来像这样的数据集。
Date Name High Value
2017-12-31 Bitcoin 14377.40 18723.76
2017-12-30 Bitcoin 14681.90 18766.88
2017-12-29 Bitcoin 15279.00 18755.70
2017-12-28 Bitcoin 15888.40 18820.54
... ... ... ...
2017-01-08 CannaCoin 0.01 0.02
2017-01-07 CannaCoin 0.01 0.02
2017-01-06 CannaCoin 0.01 0.02
2017-01-05 CannaCoin 0.02 0.01
日期是索引列,采用日期时间格式。我的数据集很大,Namecolumn 中有不止一项。日期范围从年初到年底。此外,并非所有项目都具有相同的长度。大多数应该在年底完成,但不一定在年初开始,他们可以稍后开始。
我想做的是,按Namevalues 分组,并为每个在同一个图形/绘图上创建一条单独的线。 Value 应该在 y 轴上。
因为我习惯了 R,所以我做的是:
df.groupby("Name")["Value"].plot()
我得到的是一个警告:
UserWarning: Attempting to set identical left==right results in singular transformations; automatically expanding. left=17531.0, right=17531.0 'left=%s, right=%s') % (left, right))
可以观察到,一半的值丢失了,因为它们在绘图区域之外,日期是降序而不是升序,并且一半的绘图是空的。
我该如何解决这个问题,以便整个情节都可见,日期顺序正确?
【问题讨论】:
-
你会推荐什么数据集来重现这个问题?见minimal reproducible example。
标签: python pandas matplotlib plot