Python pandas在一个地块上绘制多个图形

时间:2018-01-22 22:07:16

标签: python pandas matplotlib plot

我有一个看起来像这样的数据集。

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

日期是索引列,采用日期时间格式。我的数据集很大,Name列中有多个项目。日期范围从年初到结束。此外,并非所有项目都具有相同的长度。大多数应该在年底完成,但它们不一定从一开始就开始,它们可以在以后开始。

我想要做的是,按Name值分组,并为每个在同一图表/图表上创建一个单独的行。 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))

此外,情节看起来像这样:Half a graph missing, dates are in the wrong order

作为可观察的,有一半的值丢失,因为它们在绘图区域之外,日期是降序而不是升序,而且一半的图是空的。

如何解决这个问题,以便整个情节可见,日期顺序正确?

1 个答案:

答案 0 :(得分:1)

您可以在“名称”上转动,然后将数据框传递给图表。

ViewController

示例:

collectionView.canCancelContentTouches = true

enter image description here