【问题标题】:R Polar graph segments with gapsR 有间隙的极坐标图段
【发布时间】:2016-04-14 19:15:31
【问题描述】:

我正在使用 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。

感谢您的帮助。

【问题讨论】:

    标签: r time-series radial plotrix


    【解决方案1】:

    数字......再过几分钟,我基本上有一个解决方案。

    首先,我用 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 不适合这个

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2022-01-19
      • 2013-05-22
      • 2018-06-04
      • 2013-06-18
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多