R:如何在极坐标图中添加突出显示的角度线?

时间:2014-06-02 13:50:13

标签: r plotrix

请考虑以下样本极坐标图:

library(plotrix)
testlen <- c(rnorm(36)*2 + 5)
testpos <- seq(0, 350, by = 10)
polar.plot(testlen, testpos, main = "Test Polar Plot",
           lwd = 3, line.col = 4, rp.type = "s")

The output

我想在角度30和330以及150和210(从中心到外部)添加线条。我尝试了线功能但无法使其工作。

2 个答案:

答案 0 :(得分:2)

精确放置的计算有点傻但使用您的测试数据

set.seed(15)
testlen<-c(rnorm(36)*2+5)
testpos<-seq(0,350,by=10)
polar.plot(testlen,testpos,main="Test Polar Plot",
    lwd=3,line.col=4,rp.type="s")

您可以使用

添加20,150,210,300行
add.line <- c(30,330, 150,210)/360*2*pi
maxlength <- max(pretty(range(testlen)))-min(testlen)
segments(0, 0, cos(add.line) * maxlength, sin(add.line) * maxlength, 
    col = "red")

这就是下面的情节

highlighted angles on polar plot

答案 1 :(得分:1)

您可以使用rp.type = "r"参数和add = TRUE。所以,像

library(plotrix)
set.seed(1)
testlen <- c(rnorm(36)*2 + 5)
testpos <- seq(0,350, by = 10)
polar.plot(testlen, testpos, main = "Test Polar Plot",
           lwd = 3, line.col = 4, rp.type = "s")

接着是

pos <- c(30, 330, 150, 210)
len <- c(10, 10, 10, 10)
polar.plot(lengths = len, polar.pos = pos, 
           radial.lim = c(0, 15),
           lwd = 2, line.col = 2, rp.type = "r", add = TRUE)

产生您想要的输出。

Output