我正在使用plotrix软件包从我的测量中生成极坐标。
看起来,即使我提供了从1度到360度(或同样从0度到359度)的所有极坐标的测量值,第一个和最后一个点也没有连接。例如
require(plotrix)
polar.plot(seq(1,360),polar.pos=1:360,radial.lim=c(0,361),rp.type="l")我发现的一个快速而肮脏的解决方案是再添加一个测量点,因此使用361代替360
作为
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有没有其他选择,因为显示我的最终用户警告消息不是我想看到的:)
我要感谢你的回复
向Alex致敬
发布于 2017-07-11 04:13:12
它将把它们按顺序连接起来。因此,如果您希望最后一条垂直线回到原点,则需要在向量的末尾添加一个数据点,以使其执行此操作。你得到的错误是,你给一个coord添加了一个额外的值,而不是另一个coord,所以x和y不相等。它回收了其中一个向量来填充它,这恰好给了你想要的东西,但给了你一个警告,它正在这样做。
polar.plot(c(seq(1,360), 1),
polar.pos = c(1:360, 1),
radial.lim = c(0,361),
rp.type = "l")

https://stackoverflow.com/questions/45020630
复制相似问题