我有一些角度数据(按0°
- 360°
的比例)。我已经使用R
中的“圆形”包成功创建了一个圆形图,但轴标签是逆时针方向读取的,而不是顺时针方向。
我需要纠正这个问题,因为数据和轴标签目前不匹配。 标签应以0°
- 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)
我试过摆弄代码,但没有运气。
答案 0 :(得分:1)
这似乎是包而不是代码的问题。卸载并重新安装圆形包时,使用上面列出的命令时,轴标签会以顺时针方向读取。