This answer is kind of a more broader discussion for people who wants to add vertical line in customized position in categorized x-axis.
I have five groups and five factors in each group. I want to add 4 vertical lines behind the last factor in each group to separate the five groups (at the 'E' position in this case). The method from @dickoa is not working for my case. when I use :
geom_vline(xintercept=which(df$x == 'm'))
It only adds vertical line at 'm' of the 3rd group.
I just find that I can try sth like this:
geom_vline(xintercept = c(1.5,2.5,3.5,4.5))
At least this works perfect for my case. You may need to try several times to find the pattern fitting your case.
I always want to know how to add vertical/ horizontal line based on the proportion of x/y axis. e.g., xintercept = 0.5 means add vertical line in the middle of x-axis, and xintercept = 0.25 means first quarter. However I can't find any knowledge about this topic.