首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >Plotrix包polar.plot符号覆盖

Plotrix包polar.plot符号覆盖
EN

Stack Overflow用户
提问于 2013-03-11 19:43:08
回答 2查看 5.8K关注 0票数 3

我用极地图来描述卫星在时间序列中的位置。下面的问题使用来自R包plotrix的polar.plot函数。一个例子情节:

代码语言:javascript
复制
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和标签来解决这个问题,但这不太优雅:

代码语言:javascript
复制
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)

我的问题有两个方面:

  1. 有什么方法可以控制我在文档中漏掉的plotrix中的这个问题吗?
  2. 还有另一个包可以很容易地处理这种方位角极地图吗?
EN

回答 2

Stack Overflow用户

回答已采纳

发布于 2015-07-21 22:23:52

这个似乎已经修好了。我还没有查看更改日志来确定更改发生的位置,但它至少在plotrix3.5-12中是固定的。

代码语言:javascript
复制
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")

目前,轴被正确地绘制在数据点下。标签是(合理地)画在上面的。如果有必要将数据覆盖在标签上,上面讨论的过度绘制选项会很好地工作。

票数 0
EN

Stack Overflow用户

发布于 2013-03-12 07:23:55

您可以通过两个参数控制这些径向标签的显示方式:show.grid.labelsradial.labels。有关更多完整信息,请参见?radial.plot

show.grid.labels接受从1到4的值(类似于posaxis,参见?par?axis),控制显示它们的一侧。radial.labels接受一个标签向量,所以如果您想要拒绝标签:radial.labels = ""工作,

代码语言:javascript
复制
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)

代码语言:javascript
复制
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消除轴向线。

代码语言:javascript
复制
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)

然而,似乎没有办法使线条隐藏在标签和点后面,因此,如果您确实希望线条出现在后面,那么您最初的想法可能是最好的:

代码语言:javascript
复制
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肯定可以帮助您启动。

票数 3
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/15347179

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档