如何为不规则采样的时间序列获得漂亮的刻度标签?

时间:2012-11-12 16:16:43

标签: python matplotlib pandas

我有一个Pandas系列在不规则的时间采样(大约5秒,但由于延迟,总是几个ms关闭)。

我可以将此数据绘制为不错的x轴刻度标签吗?到目前为止,我只得到这个:

>>> print(bare_data.index)
<class 'pandas.tseries.index.DatetimeIndex'>
[2012-11-08 12:00:05.130309, ..., 2012-11-09 11:38:18.997584]
Length: 16332, Freq: None, Timezone: None
>>> bare_data.plot()

enter image description here

在查阅Pandas文档后,我发现通过重新采样和插值数据可以使这更漂亮:

>>> bare_data.resample('5s').interpolate().plot()

resampled data

但是这会引入潜在的错误,这取决于我原来的采样时间,所以我想知道是否有一种失败的方法来获得漂亮的滴答标签,因为即使在第一种情况下索引也包含时间戳

1 个答案:

答案 0 :(得分:2)

对于常规频率,pandas在绘图之前将基础索引转换为PeriodIndex,并为PeriodIndex使用不同的刻度格式器和定位器集。

作为现在的解决方法,您可以使用rot旋转刻度,使它们不重叠。它不会像第二个情节那样漂亮,但它至少是可读的。

我在github(https://github.com/pydata/pandas/issues/2235)上提出了一个问题。