微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

Matplotlib 方法的差异

如何解决Matplotlib 方法的差异

我有下面的数据框作为我的数据的子集。完整数据集包含周一至周日的“day_of_week”和 24 小时格式的“小时”。

day_of_week hour    record
0   Friday  00:00:00    23655
1   Friday  01:00:00    11806
2   Friday  02:00:00    6846
3   Friday  03:00:00    4284
4   Friday  04:00:00    5706
5   Friday  05:00:00    21557
6   Friday  06:00:00    71883

以下是数据类型:

day_of_week    category
hour             object
record            int64
dtype: object

我想创建多个子图,每个 day_of_week 一个图以显示 24 小时内记录的变化。我尝试只在“星期五”先做。

方法 1,我收到一条错误消息:

fig = plt.figure()
ax = plt.axes()

ax.plot('hour','record',data = activity_by_hour)

TypeError: float() argument must be a string or a number,not 'datetime.time'

方法二和折线图的制作:

activity_by_hour.loc[activity_by_hour.day_of_week == 'Friday']\
.plot('hour',title = 'Friday',xlabel = "Hour",ylabel = "Ride ('000)",legend = "",linestyle = '--',linewidth = 2)

plt.xticks(ticks = (4 * 60 * 60) * np.arange(6)) # 4 hours interval consists of 14,400 seconds
plt.yticks(ticks = np.arange(0,3.5e5,5e4),labels = [int(num) for num in np.arange(0,5e4)/1000]);

enter image description here

这两种方法有什么区别?如何在显示每天 7 条线的图中绘制周一至周日的类似图表?我尝试了“for 循环”,最终得到了 7 个图表,无论如何,不​​是一个子图。

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。