how do I use geom_rect with discrete axis values how do I use geom_rect with discrete axis values r r

how do I use geom_rect with discrete axis values


You can try:

ggplot(data = df) +  geom_rect(data = df, aes(x = x, y=y), xmin = as.numeric(df$x[[2]]) - 0.3,                                        xmax = as.numeric(df$x[[3]]) + 0.3,                                        ymin = 0, ymax = 2)

This works, as if you call xmin and xmax etc outside of the aes call, you can use whatever you want. The factor levels are used in the plot to plot them out, so as.numeric will make sure you get the right one.