R带有间隙的极坐标图段

时间:2016-04-14 19:15:31

标签: r time-series radial plotrix

我使用plotrix在R中生成极坐标图。角度是记录保持,长度取自记录时间戳。使用lubridate parse_date_time

解析日期
polar.plot(
    as.numeric(df$datetime), 
    df$heading, 
    rp.type="p", 
    start=90, 
    clockwise=TRUE, 
    show.grid.labels=FALSE
)

我遇到的问题是多边形链接了第一个和最后一个点。我的数据也有一些差距。这两种情况导致多边形的线条越过图表的中间。理想情况下,我不会链接第一个和最后一个点,只要时间序列中存在显着差距,我就会断开连接线。

我已经计算了每条记录之间的差值,因此很容易确定我希望这些差距发生的位置。

如果有其他方法可以实现这些目标,我与plotrix无关。

感谢您的帮助。

1 个答案:

答案 0 :(得分:0)

数字......再过几分钟,我主要有一个解决方案。

首先,我正在使用ggplot2获得一个不错的极坐标图表。我不确定我之前怎么没找到。

ggplot2 polar plot arrows

ggplot(df, aes(heading, datetime)) + coord_polar() + geom_path()

我认为我应该能够通过插入“NA”值或生成组来弥补差距。 Line break when no data in ggplot2

idx <- c(1, diff(df$datetime))
i2 <- c(1,which(idx != 1), nrow(df)+1)
df$grp <- rep(1:length(diff(i2)), diff(i2))
ggplot(df, aes(heading, datetime)) + coord_polar() + geom_path(group=grp)

我不确定我是怎么找不到用ggplot2绘制极性的。

尽管如此,ggplot2没有选择连接点的最短路径(它在图表周围循环连接10到350而不是0)。

修改: 这可以通过coord_map()解决 ggplot2: How to link correctly track points around polar projection map?

编辑2 : 没关系,coord_map不适合这个