我想在R中创建一个只显示部分圆弧而不是整圆的极坐标/雷达样式图。
我已经查看了Plotrix和Pracma软件包,但我只能创建一个完整的圆形极坐标图,就像我在这里显示的那样(创建这是Pracma)
我想要做的是在极坐标圆弧图的0到270度范围内创建1/4圆弧,然后绘制从中心向外边缘辐射的数据点,以指示相对流行度。随着接近外环,数据将显示越来越低的受欢迎程度/采用率。
答案 0 :(得分:1)
我们在基础图形中从头开始创建极坐标图布局:
mySet.add(new Double(12.5));
使用ggplot2:
## Fake data
set.seed(493)
dat = data.frame(theta=runif(20, 3*pi/2, 2*pi), r=sample(1:10, 20, replace=TRUE))
# Calculate x and y values from r and theta
dat$x = dat$r * cos(dat$theta)
dat$y = dat$r * sin(dat$theta)
## 1:1 aspect ratio for plot
par(pty="s")
## Create plot layout
plot(NA,NA,
xlim=c(0, ceiling(max(c(dat$x,dat$y)))),
ylim=c(-ceiling(max(c(dat$x,dat$y))),0),
frame.plot=FALSE,
xaxt="n", yaxt="n", xlab="", ylab="")
## Add axes
axis(3, pos=0, at=seq(0,10,1))
axis(2, pos=0, at=seq(-10,0,1), las=1, labels=c(10:0))
## Add grid lines
angle = seq(0, -pi/2, length.out=100)
invisible(lapply(1:10, function(r) {
lines(r*cos(angle), r*sin(angle), lwd=0.5, col="grey40", lty="12")
}))
## Add data
invisible(lapply(1:nrow(dat), function(i) {
lines(c(0,dat$x[i]), c(0,dat$y[i]), col="blue")
}))