如何在R中的圆形图上更改轴标签方向

时间:2014-01-26 14:10:36

标签: r plot angle

我有一些角度数据(按 - 360°的比例)。我已经使用R中的“圆形”包成功创建了一个圆形图,但轴标签是逆时针方向读取的,而不是顺时针方向。

我需要纠正这个问题,因为数据和轴标签目前不匹配。 标签应以 - 345°顺时针方向运行。

以下是我用于创建绘图的R代码:

library(circular)
# Create circular object / Sample Data
df <- structure(c(345, 355, 351, 359, 358, 359, 359, 357, 352, 3, 6, 
4, 342, 336, 349, 352, 340, 354, 335, 348, 355, 353, 354, 346, 
351, 359, 358, 357, 348, 336, 349, 351, 355, 354, 356), .Dim = c(35L, 
1L), .Dimnames = list(NULL, "Bearing"), circularp = structure(list(
type = "angles", units = "degrees", template = "none", modulo = "2pi", 
zero = 0, rotation = "clock"), .Names = c("type", "units", 
"template", "modulo", "zero", "rotation")), class = c("circular", 
"matrix"))

# circular mean
m.p = mean(df)
# mean vector length
rho.p = rho.circular(df)
# label seq for axes values 
p.axis = seq(0,345, by=15)
# axis intervals
a.p <- circular(p.axis, units='degrees', modulo="2pi", rotation="clock")

par(mfrow=c(1,1), mar=c(0,0,0,0))
plot(df, 
 stack=TRUE, 
 bins=60, 
 col="mediumseagreen", 
 pch=16, 
 tcl=0.04, 
 tcl.text=0.125, 
 axes=FALSE, 
 cex=1.4, 
 shrink=1.3, 
 sep=0.05, 
 xlim = c(0, 1.2), 
 ylim = c(-1, 1))
# add axis
axis.circular(a.p, labels=p.axis, cex=0.9) 
# add kernel density estimate
lines(density(df, bw=20), col='mediumseagreen', lty=2, lwd=1.5) 
# arrow to indicate direction of circular mean, scaled by mean vector length
arrows.circular(m.p, shrink=rho.p, length=0.15, col='mediumseagreen', lwd=2.5) 

我试过摆弄代码,但没有运气。

1 个答案:

答案 0 :(得分:1)

这似乎是包而不是代码的问题。卸载并重新安装圆形包时,使用上面列出的命令时,轴标签会以顺时针方向读取。