It’s an R FAQ — you need print()
around it, or a ggsave()
which is particular to ggplot2.
From the FAQ:
7.22 Why do lattice/trellis graphics not work?
The most likely reason is that you forgot to tell R to display the
graph. Lattice functions such asxyplot()
create a graph object, but
do not display it (the same is true of ggplot2 graphics, and Trellis
graphics in S-Plus). Theprint()
method for the graph object produces
the actual display. When you use these functions interactively at the
command line, the result is automatically printed, but insource()
or
inside your own functions you will need an explicitprint()
statement.