R 极坐标系中的ggplot geom_线连接异常
我想绘制从0到20π的R 极坐标系中的ggplot geom_线连接异常,r,ggplot2,polar-coordinates,R,Ggplot2,Polar Coordinates,我想绘制从0到20π的r=theta,这应该是一个有十个循环的螺旋 这很好用: data.frame(x=seq(0,20*pi, length.out=1000)) %>% mutate(theta=x %% (2*pi), r=x) %>% ggplot() + aes(x=theta, y=r) + coord_polar(start=-pi/2, direction=-1) + ggtitle("r=theta") + geom_line() + ylim(0,20*pi
r=theta
,这应该是一个有十个循环的螺旋
这很好用:
data.frame(x=seq(0,20*pi, length.out=1000)) %>% mutate(theta=x %% (2*pi), r=x) %>%
ggplot() + aes(x=theta, y=r) + coord_polar(start=-pi/2, direction=-1) +
ggtitle("r=theta") + geom_line() + ylim(0,20*pi) + xlim(0, 2*pi)
但当我将geom_点
更改为geom_线
时,它会奇怪地连接这些点:
如何修复此问题?要做的关键事情是设置
组
美学,以停止使用geom\u路径
将线加倍。在这里,我的设置略有不同,以避免θ=0时出现间隙
data.frame(theta = rep(seq(0, 2 * pi, length = 100), 10)) %>%
mutate(r = seq(0, 20 * pi, length = 1000), z = rep(1:10, each = 100)) %>%
ggplot() + aes(x=theta, y=r, group = z) +
coord_polar(start = -pi/2, direction = -1) +
ggtitle("r = theta") +
geom_path() +
ylim(0, 20 * pi) + xlim(0, 2 * pi)
添加
%>%#arrange(r)%>%
和+geom_path()
可以让您部分到达那里,但是geom_path
不会越过0
行。莫名其妙…所以诀窍是按mod 2 pi分组,并将落在边缘的点复制到每组中。这很烦人,但很管用。