在python中为每行绘制折线图

时间:2019-07-09 09:21:53

标签: python pandas numpy matplotlib seaborn

我有20列,在两列上使用了groupby,然后得到了。

data.groupby(['id','date']).count()['dx'].iplot()

 id     date                    
 K01   2019-04-04 12:47:31.610    1
       2019-04-05 13:52:50.923    1
       2019-04-06 11:29:55.357    1
       2019-04-07 19:08:17.370    1
       2019-04-08 10:58:02.710    1
       2019-04-08 12:07:15.477    1
       2019-04-08 15:23:48.850    1
                                 ..
 K5    2019-06-24 21:06:50.563    1
       2019-06-25 17:07:49.880    1
       2019-06-25 19:44:18.720    1
       2019-06-26 05:46:45.343    1

Name: id, Length: 99466, dtype: int64

我有多个ID,如您所见,长度太大。 如何为每个ID绘制图形? 以日期为x轴,以计数为y轴,以id为标题?

我尝试使用iplot-密谋,结果是一个错误。

enter image description here

我可以用什么其他类型的图来描绘所有id?

1 个答案:

答案 0 :(得分:0)

您只需要创建一个数据框,其中每一列都是要绘制的序列。

plt.tight_layout()
data.groupby(['id','date']).count()['dx'].unstack('id', fill_value=0).plot()

在这种情况下,每个序列都由ID(例如“ K01”,“ K5”)索引,因此您只需要拆开数据框并进行绘制即可。

但是,如果id的数量太大,则该图可能很难阅读。使用绘图选项subplots=True可能会有所帮助;否则,我会考虑另一种图形。