R ggplot-极坐标系中具有直线的连接点

R ggplot-极坐标系中具有直线的连接点,r,ggplot2,R,Ggplot2,我正在研究一个类似的问题,这里已经讨论过了: 不幸的是,这种变通方法已经不起作用了 我编写了一个示例代码,专门讨论我的问题。这是我上一次尝试的内容:我使用了geom_段而不是geom_路径,结果是线成了一个圆圈。这些线总是先朝向零,然后根据给定的位置转向,而不是走直线 require(grid) require(ggplot2) set.seed(40); Location<-data.frame(Winkel=round(runif(1000,0,24),0)) Location$BA

我正在研究一个类似的问题,这里已经讨论过了:

不幸的是,这种变通方法已经不起作用了

我编写了一个示例代码,专门讨论我的问题。这是我上一次尝试的内容:我使用了
geom_段
而不是
geom_路径
,结果是线成了一个圆圈。这些线总是先朝向零,然后根据给定的位置转向,而不是走直线

require(grid)
require(ggplot2)
set.seed(40);
Location<-data.frame(Winkel=round(runif(1000,0,24),0))
Location$BAD <- Location$Winkel %in% c(seq(7,18))
Abschnitte<-c(0:24)
polar<-data.frame(Winkel2=c(1.5, 2.34, 1.2, 3.45, 1.67, 2.61, 1.11, 13.2), 
              value=c(0.1, 0.03, 0.02, 0.015, 0.01, 0.04, 0.09, 0.06),
              .Names=c("Winkel2", "value"))

ggplot(Location, aes(x = Winkel, fill = BAD, y=(..count..)/sum(..count..))) + 
geom_histogram(breaks = seq(0,24), colour = "black") + 
coord_polar(start = 0) + theme_minimal() +
scale_fill_brewer(type="seq",palette=3) +
ylab("Percentual allocation time") + 
ggtitle("") +
scale_x_continuous("", limits = c(0, 24), breaks = Abschnitte, labels = Abschnitte) +
scale_y_continuous(labels = scales::percent)+
geom_segment(data=polar, aes(x=0, y=0, xend=Winkel2, yend=value, fill=NA), 
           arrow=arrow(angle=30,type="closed",length=unit(0.3,"cm")))
require(网格)
需要(ggplot2)
结实。种子(40);

地点我自己解决了这个问题,并想与大家分享我的发现:

我的问题是:

geom_segment(data=polar, aes(x=0, y=0, xend=Winkel2, yend=value, fill=NA),
起点x决定箭头首先指向的方向。例如,如果设置为0,所有箭头将首先指向我的零标记,并通过绘制曲线转向其预期位置。为了解决这个问题,我必须设置x=Winkel2,因此每个箭头从其各自的标记开始并直接指向最终位置: