0

我正在用 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 联系在一起。

谢谢你的帮助。

4

1 回答 1

0

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

首先,我用 ggplot2 得到了一个不错的极坐标图。我不知道我之前怎么没找到。

ggplot2 极坐标图箭头

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

而且我认为我应该能够通过插入“NA”值或生成组来获得差距。 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 解决:如何正确链接极地投影图周围的跟踪点?

编辑2:没关系,coord_map 不是为此

于 2016-04-14T20:38:40.490 回答