我尝试使用代码fil.groupby('imei').plot(x=['time'],y = ['battery'],ax=ax, title = str(i))
绘制pandas groupby
对象
问题是绘图图例将['battery']
列为图例值。考虑到它为groupby
对象中的每个项目绘制一条线,将这些值绘制在图例中更有意义。但是我不确定如何做到这一点。任何帮助都将不胜感激。
数据
time imei battery_raw
0 2016-09-30 07:01:23 862117020146766 42208
1 2016-09-30 07:06:23 862117024146766 42213
2 2016-09-30 07:11:23 862117056146766 42151
3 2016-09-30 07:16:23 862117995146745 42263
4 2016-09-30 07:21:23 862117020146732 42293
字符串
完整代码
for i in entity:
fil = df[(df['entity_id']==i)]
fig, ax = plt.subplots(figsize=(18,6))
fil.groupby('imei').plot(x=['time'],y = ['battery'],ax=ax, title = str(i))
plt.legend(fil.imei)
plt.show()
型
当前打印
的数据
2条答案
按热度按时间fkvaft9z1#
稍微整理一下数据:
字符串
完整的示例代码:
型
像往常一样,x值必须转换为日期时间,以便正确绘制。你也可以在框架中这样做。
结果,由imei标记:
(注:如果你把一个列表作为
y
参数传递给group.plot
,列表ID将被用作行标签,大概是当你同时绘制多个因变量时的一个方便的默认值。型
)
jxct1oxe2#
您可以使用
groupby.SeriesGroupBy.plot
而不是groupby.DataFrameGroupBy.plot
将组名而不是列名作为图例。字符串
的数据