2

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

我可以绘制这些数据以获得漂亮的 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()

在此处输入图像描述

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

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

重采样数据

但是,这会引入潜在的错误,这取决于我的原始采样时间,所以我想知道是否有一种无损的方法来获得漂亮的刻度标签,因为即使在第一种情况下索引也是由 Timestamps 组成的

4

1 回答 1

2

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

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

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

于 2012-11-12T18:12:34.387 回答