Highlighting regions of interest in ggplot2
In vanilla plotting, it is possible to use a polygon
call in the panel.first
argument to plot
to highlight a background region. Is it possible to do the same in ggplot2
? Can it be done while preserving the gridlines?
eg:
# plot hp and wt for m开发者_JAVA百科tcars data, highlighting region where hp/wt ratio < 35
with(mtcars,plot(hp,wt,
panel.first=polygon(c(0,0,max(wt)*35),c(0,max(wt),max(wt)),
col="#d8161688",border=NA)))
Yes, that's possible with ggplot2. To preserve the visibility of grid lines you can use alpha transparency. Note that, in general, the order in which geoms and stats are applied matters.
tmp <- with(mtcars, data.frame(x=c(0, 0, max(wt)*35), y=c(0, max(wt), max(wt))))
ggplot(mtcars, aes(hp, wt)) +
geom_polygon(data=tmp, aes(x, y), fill="#d8161688") +
geom_point()
精彩评论