我正在使用极坐标图来描述时间序列中的卫星位置。以下问题使用 R 包 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)
我的问题有两个:
极地情节?
最佳答案
您可以使用两个参数控制这些径向标签的显示方式: 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 绝对可以帮助你开始。
关于r - Plotrix R 包 polar.plot 符号覆盖,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/15347179/