如何绘制具有多个 MaN 的时间序列?

How to plot timeseries with many NaNs?

最初我有一个包含某些设备功耗的数据框:

我想绘制不同设备的功耗与时间的关系图,6 个可能日期中的一个绘制一个图。按日期分组后,我得到了这样的图(每个组 = 日期):

然后我尝试创建类似的情节,但切换日期和设备角色,以便它按设备分组并按日期着色。为此,我准备了这个数据框:

和上一个类似,但是由于测量时间不同,所以有很多NaN值。我认为这不会是一个问题,但是在按设备分组之后,子图看起来像这样(ex 只是从通过 groups = devices 的循环中提取的子数据帧的名称):

这是 ex 数据框(观察之间的平均延迟约为 20 秒)

问题:我应该怎么做才能使按设备分组的图看起来像按日期分组的图?(我想使用 ex 数据框但处理 NaN不知何故。)

我在 similar question 的回答中找到了解决方案:ex.interpolate(method='linear').plot()。这条线将通过绘图之间的插值来填补数据点之间的空白。这是结果:

另一个可以帮助的是添加.plot(marker='o', ms = 3),它不会填补点之间的空白,但至少会让点可见(以前的一些点,主要是能源消耗的峰值规模太小整个情节)。这是结果: