我正在使用极坐标图来描述时间序列中的卫星位置。以下问题使用 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)
我的问题有两个:
- 有没有我在文档中遗漏的在 plotrix 中控制它的方法?
- 是否有另一个包可以轻松处理这种方位角 极坐标图?
最佳答案
您可以使用两个参数控制这些径向标签的显示方式: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/