I am working on a similar issue, as already discussed here:
r - ggplot2: connecting points in polar coordinates with a straight line
Unfortunately, the workaround is not working anymore.
I made up an example code to talk about my issue in particular. Here is what I tried last: I used geom_segment
instead of geom_path
and I ended up with lines going in a circle. These lines always head towards zero first and then turn according to the giving position, instead of taking the straight way.
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")))
Is geom_path
still the better option? I tried some things with geom_path
, but didn't really get towards where I wanted.
See Question&Answers more detail:
os