R plotrix,polar.plot没有不连续性

时间:2017-07-10 20:02:27

标签: r polar-coordinates plotrix

我正在使用plotrix软件包来测量我的测量值。

看起来即使我提供从1到360度(或同样到0到359)的所有极坐标的测量值,第一个和最后一个点也没有连接。例如

require(plotrix)
polar.plot(seq(1,360),polar.pos=1:360,radial.lim=c(0,361),rp.type="l")

我发现一个快速而肮脏的修复方法是再添加一个测量点,所以不要使用360而是使用361

作为

 polar.plot(seq(1,360),polar.pos=0:360,radial.lim=c(0,361),rp.type="l")

发出警告信息。

Warning messages:
1: In cos(radial.pos[i, ]) * lengths[i, ] :
  longer object length is not a multiple of shorter object length
2: In sin(radial.pos[i, ]) * lengths[i, ] :
  longer object length is not a multiple of shorter object length

是否有其他选择,因为我的最终用户警告信息不是我喜欢看到的内容:)

我想感谢你的回复

此致 亚历

1 个答案:

答案 0 :(得分:0)

它将按顺序连接它们。因此,如果您希望最终的垂直线返回原点,则需要在向量的末尾添加一个数据点以使其完成。你得到的错误是你为一个坐标增加了一个额外的值,而没有为另一个坐标增加,所以x和y不相等。它回收了其中一个向量来填充它,这恰好给了你想要的东西,但却给了你一个警告它正在这样做。

polar.plot(c(seq(1,360), 1),
           polar.pos = c(1:360, 1),
           radial.lim = c(0,361),
           rp.type = "l")

enter image description here