时间序列 x 轴日期来自 datetimeindex pandas

Time-series x-axis dates from datetimeindex pandas

我有以下数据框,我可以使用 .groupby() 从中为每个发件人生成图表:

                         sender  temp_3
utctime                                
2014-10-24 11:21:08           a    24.7
2014-10-24 11:21:09           b    22.8
2014-10-24 11:21:09           c    23.2
2014-10-24 11:21:09           d    24.3
2014-10-24 11:21:10           e    23.9
2014-10-24 11:21:10           a    24.7
2014-10-24 11:21:11           b    22.9
2014-10-24 11:21:11           c    23.1
2014-10-24 11:21:11           d    24.2
2014-10-24 11:21:12           e    23.9
2014-10-24 11:21:12           a    24.7
2014-10-24 11:21:13           b    22.9
2014-10-24 11:21:13           c    23.1
2014-10-24 11:21:13           d    24.2
2014-10-24 11:21:14           e    23.9
2014-10-24 11:21:14           a    24.7
2014-10-24 11:21:15           b    22.9
2014-10-24 11:21:15           c    23.2
2014-10-24 11:21:15           d    24.1
2014-10-24 11:21:16           e    23.9

这是我的代码:

for key, grp in stack.groupby(['sender']):
    plt.plot(grp.index,
             grp['temp_3'].dropna(),
             label='%s %s' % ('Temperature', key))

但是,当我将它应用于我的完整数据集时,在 utctime 中有多个日期,x 轴仍然是一个时间 - 我希望它在这种情况下显示日期。

这是完整数据集的示例:

                    sender  temp_3
utctime                                
2014-10-23 13:15:08           a    23.0
2014-10-24 16:09:13           b    24.1
2014-10-24 18:56:01           a    23.3
2014-10-24 21:42:42           a    23.0
2014-10-25 00:29:22           a    22.7
2014-10-25 03:16:02           c    23.1
2014-10-25 06:02:43           c    22.8
2014-10-25 08:49:23           c    23.7
2014-10-25 11:36:03           c    24.8
2014-10-25 14:22:43           c    25.7
2014-10-25 17:09:24           d    24.9
2014-10-25 19:56:05           b    24.6
2014-10-25 22:42:45           b    24.2
2014-10-26 01:29:26           e    22.7
2014-10-26 04:16:15           d    23.6
2014-10-26 07:02:56           e    22.4
2014-10-26 09:49:36           e    22.7
2014-10-26 12:36:16           e    22.2
2014-10-26 15:22:57           e    23.1
2014-10-26 18:09:46           d    23.8
2014-10-26 20:56:26           b    23.8
2014-10-26 23:43:07           e    22.7

我想要 post 张图片,但需要更多代表!

我尝试在遵循其他堆栈 post 后转换 .to_julian_time 和 to_py_datetime。我也试过 grp.index.date,但这仍然会在 x 轴上给出一个时间,而且更糟,因为它丢失了细节。有什么想法吗?

在 x 轴上设置格式应该可以解决问题:

plotaxis = plt.figure().gca()
plotaxis.xaxis.set_major_formatter(matplotlib.dates.DateFormatter('%d/%m/%y\n%H:%M'))
for key, grp in stack.groupby(['sender']):
plt.plot(grp.index,
         grp['temp_3'].dropna(),
         label='%s %s' % ('Temperature', key))