These functions provide summarised information about built ggplot objects.
summarise_layout(p)
summarise_coord(p)
summarise_layers(p)
A ggplot_built object.
There are three types of summary that can be obtained: A summary of the plot layout, a summary of the plot coord, and a summary of plot layers.
The function summarise_layout()
returns a table that provides information about
the plot panel(s) in the built plot. The table has the following columns:
panel
A factor indicating the individual plot panels.
row
Row number in the grid of panels.
col
Column number in the grid of panels.
vars
A list of lists. For each panel, the respective list provides the variables and their values that specify the panel.
xmin
, xmax
The minimum and maximum values of the variable mapped to the x aesthetic, in transformed coordinates.
ymin
, ymax
The minimum and maximum values of the variable mapped to the y aesthetic, in transformed coordinates.
xscale
The scale object applied to the x aesthetic.
yscale
The scale object applied to the y aesthetic.
Importantly, the values for xmin
, xmax
, ymin
, ymax
, xscale
, and yscale
are determined by the variables that are mapped to x
and y
in the aes()
call.
So even if a coord changes how x and y are shown in the final plot (as is the case
for coord_flip()
or coord_polar()
), these changes have no effect on the results
returned by summarise_plot()
.
The function summarise_coord()
returns information about the log base for
coordinates that are log-transformed in coord_trans()
, and it also indicates
whether the coord has flipped the x and y axes.
The function summarise_layers()
returns a table with a single column, mapping
, which
contains information about aesthetic mapping for each layer.
p <-
ggplot(mpg, aes(displ, hwy)) +
geom_point() +
facet_wrap(~class)
b <- ggplot_build(p)
summarise_layout(b)
#> # A tibble: 7 × 10
#> panel row col vars xmin xmax ymin ymax xscale yscale
#> <fct> <int> <int> <list> <dbl> <dbl> <dbl> <dbl> <list> <list>
#> 1 1 1 1 <named list> 1.33 7.27 10.4 45.6 <SclCntnP> <SclCntnP>
#> 2 2 1 2 <named list> 1.33 7.27 10.4 45.6 <SclCntnP> <SclCntnP>
#> 3 3 1 3 <named list> 1.33 7.27 10.4 45.6 <SclCntnP> <SclCntnP>
#> 4 4 2 1 <named list> 1.33 7.27 10.4 45.6 <SclCntnP> <SclCntnP>
#> 5 5 2 2 <named list> 1.33 7.27 10.4 45.6 <SclCntnP> <SclCntnP>
#> 6 6 2 3 <named list> 1.33 7.27 10.4 45.6 <SclCntnP> <SclCntnP>
#> 7 7 3 1 <named list> 1.33 7.27 10.4 45.6 <SclCntnP> <SclCntnP>
summarise_coord(b)
#> $xlog
#> [1] NA
#>
#> $ylog
#> [1] NA
#>
#> $flip
#> [1] FALSE
#>
summarise_layers(b)
#> # A tibble: 1 × 1
#> mapping
#> <list>
#> 1 <named list [2]>