ggplot2 is an R package which can be used for producing graphics. The main advantage of ggplot2 is its deep underlying grammar, which lets the user create a simple, expressive and descriptive code for plotting. Plots can be built up iteratively, and edited later. ggplot2 has a carefully chosen set of defaults, which allow the user to create a publication-quality graphic in seconds. In addition, a comprehensive theming system is provided, suitable for the ones who have special formatting requirements.
ggplot2 is designed to work in a layered fashion, starting with a layer showing the raw data and then adding layers of annotation or statistical summaries.