r - Plotrix R 包 polar.plot 符号覆盖

标签 r plot polar-coordinates azimuth plotrix

我正在使用极坐标图来描述时间序列中的卫星位置。以下问题使用 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)

我的问题有两个:

  1. 有没有我在文档中遗漏的在 plotrix 中控制它的方法?
  2. 是否有另一个包可以轻松处理这种方位角 极坐标图?

最佳答案

您可以使用两个参数控制这些径向标签的显示方式: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)

enter image description here

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))

enter image description here

您还可以使用 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)

enter image description here

但是似乎没有办法让线条位于标签和点的后面,所以如果您确实希望线条出现在后面,那么您最初的想法可能是最好的:

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

enter image description here

我不知道有任何其他包具有处理此类情节的功能,但是如果您想创建自己的功能,this answer to your previous question绝对可以帮助您开始。

关于r - Plotrix R 包 polar.plot 符号覆盖,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/15347179/

相关文章:

r - R 中 beanplot 上的多种颜色

R ggplot : Move y axis to grid lines on polar plot (Polar_Coord)

R knitr Markdown : Output Plots within For Loop

r - 如何在 r 中制作 3D 平行坐标图

r - 计算 R 中向量的所有子集

r - pdf绘图设备的绘图边距: y-axis label falling outside graphics window

r - 在极坐标图上绘制曲线

python - 为极坐标创建网格

r - 在 java Eclipse 中使用 JRI 时如何导入 R 库?

r - 绘制GAM模型的输出