我用极地图来描述卫星在时间序列中的位置。下面的问题使用来自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),我看不到控制这种行为的方法。我可以通过再次添加数据值(添加到上一幅图)并关闭axis和标签来解决这个问题,但这不太优雅:
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)我的问题有两个方面:
发布于 2015-07-21 22:23:52
这个似乎已经修好了。我还没有查看更改日志来确定更改发生的位置,但它至少在plotrix3.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")

目前,轴被正确地绘制在数据点下。标签是(合理地)画在上面的。如果有必要将数据覆盖在标签上,上面讨论的过度绘制选项会很好地工作。
发布于 2013-03-12 07:23:55
您可以通过两个参数控制这些径向标签的显示方式: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肯定可以帮助您启动。
https://stackoverflow.com/questions/15347179
复制相似问题