如何绘制具有许多 MaN 的时间序列?
Posted
技术标签:
【中文标题】如何绘制具有许多 MaN 的时间序列?【英文标题】:How to plot timeseries with many NaNs? 【发布时间】:2021-12-31 11:17:37 【问题描述】:最初我有一个数据框,其中包含一些设备的功耗,如下所示:
我想绘制不同设备的功耗与时间关系图,每 6 个可能日期中的一个绘制一个图。按日期分组后,我得到了这样的图(对于每个组 = 日期):
然后我尝试创建类似的情节,但切换日期和设备角色,以便按设备分组并按日期着色。为了做到这一点,我准备了这个数据框:
它与上一个类似,但由于测量时间不同而具有许多 NaN 值。我认为这不会有问题,但是在按设备分组后,子图看起来像这样(ex
只是从通过组 = 设备的循环中提取的子数据帧的名称):
这是 ex
数据框(观察之间的平均延迟约为 20 秒)
问题:我应该怎么做才能使按设备分组的情节看起来像按日期分组的情节?(我想使用 ex
数据框但以某种方式处理 NaN。)
【问题讨论】:
【参考方案1】:我在回答 similar question: ex.interpolate(method='linear').plot()
时找到了解决方案。这条线将通过绘图之间的插值填补数据点之间的空白。结果如下:
另一件有帮助的事情是添加.plot(marker='o', ms = 3)
,它不会填补点之间的空白,但至少会使点可见(以前的一些点,主要是能源消耗的峰值在整个地块的规模上太小了)。结果如下:
【讨论】:
以上是关于如何绘制具有许多 MaN 的时间序列?的主要内容,如果未能解决你的问题,请参考以下文章
如何使用python在一个图形中绘制具有不同日期时间的三个值?