I've been looking at the geom_rect example in section 5.10 of the
ggplot2 book and don't understand the purpose of the NULL's in the aes
function. For example, using the mpg
data:
g = ggplot(data=mpg, aes(x=displ, y=hwy)) + geom_point()
#Produces a plot with a transparent filled region
g + geom_rect(aes(NULL, NULL), alpha=0.1,xmin=5, xmax=7, ymin=10,
ymax=45, fill="blue")
#Solid filled region (v0.9) or nothing in v0.8
g + geom_rect(alpha=0.1,xmin=5, xmax=7, ymin=10, ymax=45, fill="blue")
My understanding is that the NULL's are resetting the x & y mapping, but I don't see why this should affect the transparency.
I've just made Hadley's comment a community wiki answer
The reason why the specification matters is that multiple transparent rectangles stacked on top of each other will look solid - because you haven't reset the data, you get one rectangle for each row in mtcars. You probably want to use annotate instead.
If you love us? You can donate to us via Paypal or buy me a coffee so we can maintain and grow! Thank you!
Donate Us With