绘制线条:即使没有该间隙的记录,也要使图形折行

时间:2018-06-29 12:38:13

标签: r time-series plotly

我在绘制带有R的时间序列时遇到一个问题。 基本上,我的数据存储在这样的数据帧中:

datetime            | measure
2018-04-09 00:40:05 | 3.4
2018-04-09 00:41:00 | 3.9
2018-04-09 00:42:07 | 3.8
2018-04-09 00:43:00 | 3.7
2018-04-09 00:44:00 | 4.2
2018-04-09 00:45:00 | 5.8
2018-04-09 01:15:00 | 5.8

观察的间隔不均匀,我每分钟观察一次,但大致上可能相差几秒钟。 然后,我在观察值之间有更大的差距,在我放置的示例中,上一个观察值与上一个观察值之间存在30分钟的差距。

很明显,Plotly正在连接折线图中的最后两个观察值,实际上我希望它们之间有一个空白。

感谢您的帮助和考虑!

2 个答案:

答案 0 :(得分:1)

您可以通过将数据划分为“块”并将每个数据绘制为单独的迹线来实现。可复制的示例:

select 
    q.* 
from
    (select 
         query, 
         max(clicks) as clicks 
     from 
         search_console_query   
     where 
         update_date >= '2018-05-01' and 
         update_date <= '2018-05-31' and 
         website_id = 2 
     group by query) as t
inner join 
    search_console_query q on q.query = t.query and q.clicks = t.clicks

自然地,您需要找到一种有意义的方式对数据进行分组,即,如果观测值之间的时间差大于 [指定您的临界​​值] ,请移至新的块。

答案 1 :(得分:0)

尝试使用connectgaps=False;检查https://plotly.com/r/line-charts/#connect-data-gaps