我正在使用极坐标图来描述时间序列中的卫星位置。以下问题使用 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.labelsradial.labels 。有关更完整的信息,请参阅 ?radial.plot
    show.grid.labels 接受 1 到 4 的值(类似于 posaxis 的值,请参阅 ?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/

    10-12 17:30