如何绘制具有许多 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 的时间序列?的主要内容,如果未能解决你的问题,请参考以下文章

如何使用 PyQtGraph 绘制图像上两点之间的水平距离

绘制饼状图

OpenGL ES 2.0 中具有不同纹理的许多对象

如何使用python在一个图形中绘制具有不同日期时间的三个值?

Java - Pac-Man - GUI - 绘图问题,以及给有抱负的程序员的一般提示

在 mfc 中绘制父对话框