我正在使用极坐标图来描述时间序列中的卫星位置。以下问题使用R package plotrix中的polar.plot函数。示例图:
library(plotrix)
polar.plot(c(0,1,3,4),c(30,60,90,120),start=90,clockwise=TRUE,rp.type="s",
point.symbols=19,radial.lim=c(0,5),boxed.radial=F)
我遇到的问题是这个函数在数据值上绘制标签和轴(参见径向位置0和3),我没有看到控制这种行为的方法。我可以通过再次添加数据值(添加到上一个图表)来关闭轴和标签来运行解决方法,但这不是优雅的:
polar.plot(c(0,1,3,4),c(30,60,90,120),start=90,clockwise=TRUE,rp.type="s",
grid.left=F,point.symbols=19,show.radial.grid=FALSE,
show.grid.labels=FALSE,show.grid=FALSE,labels=NULL,add=TRUE)
我的问题有两个:
答案 0 :(得分:3)
您可以使用两个参数控制这些放射状标签的显示方式:show.grid.labels
和radial.labels
。有关更完整的信息,请参阅?radial.plot
。
show.grid.labels
接受1到4之间的值(类似于pos
或axis
的值,请参阅?par
或?axis
)控制他们所在的一方显示。 radial.labels
接受标签矢量,因此如果您希望拒绝标签:radial.labels = ""
有效,
library(plotrix)
polar.plot(c(0,1,3,4),c(30,60,90,120),start=90,clockwise=TRUE,rp.type="s",
point.symbols=19,radial.lim=c(0,5),boxed.radial=FALSE,
show.grid.labels=2)
polar.plot(c(0,1,3,4),c(30,60,90,120),start=90,clockwise=TRUE,rp.type="s",
point.symbols=19,radial.lim=c(0,5),boxed.radial=FALSE,
show.grid.labels=2, radial.labels=c("",1:5))
您还可以使用show.radial.grid
polar.plot(c(0,1,3,4),c(30,60,90,120),start=90,clockwise=TRUE,rp.type="s",
point.symbols=19,radial.lim=c(0,5),boxed.radial=FALSE,
show.grid.labels=2, radial.labels=c("",1:5),
show.radial.grid=FALSE)
然而,似乎没有办法让线条位于标签和点后面,所以如果你确实希望线条出现在后面,那么你最初的想法可能是最好的:
polar.plot(NA,NA,start=90,clockwise=TRUE,rp.type="",
radial.lim=c(0,5),boxed.radial=FALSE, show.grid.labels=2,
radial.labels=c("",1:5)) # First plotting the grid
polar.plot(c(0,1,3,4),c(30,60,90,120),start=90,clockwise=TRUE,rp.type="s",
point.symbols=19,radial.lim=c(0,5),show.grid=FALSE,
show.radial.grid=FALSE, add=TRUE) # Then the points without the grid
我不知道有任何其他包具有处理此类情节的功能,但是如果你想创建自己的功能,this answer to your previous question肯定可以帮助你开始。
答案 1 :(得分:0)
这似乎已得到修复。我没有查看更改日志以确定更改发生的位置,但至少从plotrix 3.5-12开始修复。
library(plotrix)
polar.plot(c(0,1,3,4),c(30,60,90,120),start=90,clockwise=TRUE,rp.type="s",point.symbols=19,radial.lim=c(0,5),boxed.radial=F,grid.col="red",point.col="green")
目前,在数据点下正确绘制了轴。标签(合理地)绘制在顶部。如果需要将数据覆盖标签,上面讨论的overplot选项将很有效。