ggplot_build takes the plot object, and performs all steps necessary
to produce an object that can be rendered.  This function outputs two pieces:
a list of data frames (one for each layer), and a panel object, which
contain all information about axis limits, breaks etc.ggplot_build(plot)layer_data(plot, i = 1L)
layer_scales(plot, i = 1L, j = 1L)
layer_grob(plot, i = 1L)
layer_data, layer_grob, and layer_scales are helper
functions that returns the data, grob, or scales associated with a given
layer. These are useful for tests.print.ggplot and benchplot for
 functions that contain the complete set of steps for generating
 a ggplot2 plot.