Package ‘ggplot2’
October 25, 2018
Version 3.1.0
Title Create Elegant Data Visualisations Using the Grammar of Graphics
Description A system for 'declaratively' creating graphics,
based on ``The Grammar of Graphics''. You provide the data, tell 'ggplot2'
how to map variables to aesthetics, what graphical primitives to use,
and it takes care of the details.
Depends R (>= 3.1)
Imports digest, grid, gtable (>= 0.1.1), lazyeval, MASS, mgcv, plyr
(>= 1.7.1), reshape2, rlang (>= 0.2.1), scales (>= 0.5.0),
stats, tibble, viridisLite, withr (>= 2.0.0)
Suggests covr, dplyr, ggplot2movies, hexbin, Hmisc, lattice, mapproj,
maps, maptools, multcomp, munsell, nlme, testthat (>= 0.11.0),
vdiffr, quantreg, knitr, rgeos, rpart, rmarkdown, sf (>=
0.3-4), svglite (>= 1.2.0.9001)
Enhances sp
License GPL-2 | file LICENSE
URL http://ggplot2.tidyverse.org, https://github.com/tidyverse/ggplot2
BugReports https://github.com/tidyverse/ggplot2/issues
LazyData true
Collate 'ggproto.r' 'ggplot-global.R' 'aaa-.r' 'aes-calculated.r'
'aes-colour-fill-alpha.r' 'aes-group-order.r'
'aes-linetype-size-shape.r' 'aes-position.r' 'utilities.r'
'aes.r' 'legend-draw.r' 'geom-.r' 'annotation-custom.r'
'annotation-logticks.r' 'geom-polygon.r' 'geom-map.r'
'annotation-map.r' 'geom-raster.r' 'annotation-raster.r'
'annotation.r' 'autolayer.r' 'autoplot.r' 'axis-secondary.R'
'backports.R' 'bench.r' 'bin.R' 'compat-quosures.R' 'coord-.r'
'coord-cartesian-.r' 'coord-fixed.r' 'coord-flip.r'
'coord-map.r' 'coord-munch.r' 'coord-polar.r'
'coord-quickmap.R' 'coord-transform.r' 'data.R' 'facet-.r'
'facet-grid-.r' 'facet-null.r' 'facet-wrap.r' 'fortify-lm.r'
'fortify-map.r' 'fortify-multcomp.r' 'fortify-spatial.r'
1
2
'fortify.r' 'stat-.r' 'geom-abline.r' 'geom-rect.r'
'geom-bar.r' 'geom-bin2d.r' 'geom-blank.r' 'geom-boxplot.r'
'geom-col.r' 'geom-path.r' 'geom-contour.r' 'geom-count.r'
'geom-crossbar.r' 'geom-segment.r' 'geom-curve.r'
'geom-defaults.r' 'geom-ribbon.r' 'geom-density.r'
'geom-density2d.r' 'geom-dotplot.r' 'geom-errorbar.r'
'geom-errorbarh.r' 'geom-freqpoly.r' 'geom-hex.r'
'geom-histogram.r' 'geom-hline.r' 'geom-jitter.r'
'geom-label.R' 'geom-linerange.r' 'geom-point.r'
'geom-pointrange.r' 'geom-quantile.r' 'geom-rug.r'
'geom-smooth.r' 'geom-spoke.r' 'geom-text.r' 'geom-tile.r'
'geom-violin.r' 'geom-vline.r' 'ggplot2.r' 'grob-absolute.r'
'grob-dotstack.r' 'grob-null.r' 'grouping.r' 'guide-colorbar.r'
'guide-legend.r' 'guides-.r' 'guides-axis.r' 'guides-grid.r'
'hexbin.R' 'labeller.r' 'labels.r' 'layer.r' 'layout.R'
'limits.r' 'margins.R' 'plot-build.r' 'plot-construction.r'
'plot-last.r' 'plot.r' 'position-.r' 'position-collide.r'
'position-dodge.r' 'position-dodge2.r' 'position-identity.r'
'position-jitter.r' 'position-jitterdodge.R' 'position-nudge.R'
'position-stack.r' 'quick-plot.r' 'range.r' 'save.r' 'scale-.r'
'scale-alpha.r' 'scale-brewer.r' 'scale-colour.r'
'scale-continuous.r' 'scale-date.r' 'scale-discrete-.r'
'scale-gradient.r' 'scale-grey.r' 'scale-hue.r'
'scale-identity.r' 'scale-linetype.r' 'scale-manual.r'
'scale-shape.r' 'scale-size.r' 'scale-type.R' 'scale-viridis.r'
'scales-.r' 'sf.R' 'stat-bin.r' 'stat-bin2d.r' 'stat-bindot.r'
'stat-binhex.r' 'stat-boxplot.r' 'stat-contour.r'
'stat-count.r' 'stat-density-2d.r' 'stat-density.r'
'stat-ecdf.r' 'stat-ellipse.R' 'stat-function.r'
'stat-identity.r' 'stat-qq-line.R' 'stat-qq.r'
'stat-quantile.r' 'stat-sf-coordinates.R'
'stat-smooth-methods.r' 'stat-smooth.r' 'stat-sum.r'
'stat-summary-2d.r' 'stat-summary-bin.R' 'stat-summary-hex.r'
'stat-summary.r' 'stat-unique.r' 'stat-ydensity.r'
'summarise-plot.R' 'summary.r' 'theme-elements.r' 'theme.r'
'theme-defaults.r' 'theme-current.R' 'translate-qplot-ggplot.r'
'translate-qplot-lattice.r' 'utilities-break.r'
'utilities-grid.r' 'utilities-help.r' 'utilities-matrix.r'
'utilities-resolution.r' 'utilities-table.r'
'utilities-tidy-eval.R' 'zxx.r' 'zzz.r'
VignetteBuilder knitr
RoxygenNote 6.1.0
Encoding UTF-8
NeedsCompilation no
Author Hadley Wickham [aut, cre],
Winston Chang [aut],
Lionel Henry [aut],
R topics documented:
3
Thomas Lin Pedersen [aut],
Kohske Takahashi [aut],
Claus Wilke [aut],
Kara Woo [aut],
RStudio [cph]
Maintainer Hadley Wickham
Repository CRAN
Date/Publication 2018-10-25 04:30:25 UTC
R topics documented:
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
+.gg .
.
.
aes .
.
.
.
aes_ .
.
.
aes_colour_fill_alpha .
aes_group_order
.
.
aes_linetype_size_shape .
.
aes_position .
.
.
annotate .
.
.
.
annotation_custom .
.
annotation_logticks .
annotation_map .
.
.
.
.
annotation_raster
.
.
.
.
autolayer
.
.
.
.
autoplot
.
borders
.
.
.
.
.
coord_cartesian .
.
.
.
coord_fixed .
.
.
.
.
coord_flip .
.
.
.
.
.
coord_map .
.
coord_polar .
.
.
.
.
.
.
.
coord_trans .
.
.
.
.
.
cut_interval
.
.
.
.
.
diamonds
.
.
economics .
.
.
.
.
.
.
.
.
expand_limits .
.
.
.
expand_scale .
.
.
.
.
.
facet_grid .
.
facet_wrap .
.
.
.
.
.
.
.
.
.
.
faithfuld .
.
.
.
.
fortify .
.
.
.
.
.
.
.
geom_abline .
geom_bar
.
.
.
.
.
.
.
.
.
geom_bin2d .
.
.
.
geom_blank .
.
.
.
.
geom_boxplot .
geom_contour .
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
5
.
. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
7
.
. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
8
.
.
. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 10
. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 11
. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 12
.
. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 14
.
. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 15
. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 16
. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 17
. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 19
. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 19
. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 20
.
. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 21
.
.
. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 21
. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 23
.
. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 24
.
. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 25
.
. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 26
.
.
. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 28
. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 30
.
. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 32
.
.
. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 33
. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 34
. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 34
.
. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 35
.
. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 36
.
.
. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 38
. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 40
.
. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 40
.
. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 41
.
.
. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 43
. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 46
.
. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 48
.
. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 49
.
.
. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 52
4
R topics documented:
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
geom_count .
.
.
geom_crossbar
.
.
geom_density .
.
geom_density_2d .
.
.
geom_dotplot
.
.
.
geom_errorbarh .
.
geom_freqpoly .
.
.
.
.
geom_hex .
.
.
.
geom_jitter
.
.
.
geom_label
.
geom_map .
.
.
.
.
.
geom_path .
.
.
geom_point
.
.
.
geom_polygon .
.
geom_qq_line .
.
.
.
.
.
geom_quantile .
.
.
.
geom_raster .
.
.
.
.
geom_ribbon .
.
.
.
geom_rug .
.
.
.
geom_segment
.
.
.
.
.
geom_smooth .
.
.
.
.
geom_spoke .
.
.
.
.
geom_violin .
.
ggplot
.
.
.
.
.
.
.
.
.
.
ggproto .
.
.
.
.
.
.
ggsave .
.
.
.
.
.
ggsf
.
.
.
ggtheme .
.
.
.
.
.
.
guides .
.
.
.
.
.
.
guide_colourbar .
.
.
.
guide_legend .
.
.
.
hmisc .
.
.
.
.
.
.
.
.
labeller
.
.
.
.
.
labellers .
.
.
.
.
.
label_bquote .
.
labs
.
.
.
.
.
.
.
.
.
lims .
.
.
.
.
.
luv_colours .
.
.
.
.
.
margin .
.
.
mean_se .
.
.
.
.
.
.
.
.
.
.
midwest
.
.
.
.
.
.
mpg .
.
.
.
msleep .
.
.
.
.
.
position_dodge .
.
.
position_identity .
position_jitter .
.
.
position_jitterdodge .
position_nudge .
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 55
. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 57
. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 59
. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 62
. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 64
. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 68
. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 69
. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 73
. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 75
. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 77
. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 81
. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 83
. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 86
. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 89
. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 91
. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 93
. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 95
. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 98
. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 100
. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 102
. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 104
. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 108
. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 110
. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 113
. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 114
. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 116
. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 117
. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 121
. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 123
. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 125
. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 128
. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 131
. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 132
. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 134
. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 136
. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 137
. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 138
. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 139
. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 140
. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 142
. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 142
. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 144
. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 144
. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 145
. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 147
. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 147
. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 148
. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 149
+.gg
5
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
position_stack .
.
.
.
presidential
.
.
print.ggplot
.
.
.
print.ggproto .
.
.
.
.
qplot .
.
.
.
.
resolution .
.
.
.
scale_alpha .
.
scale_colour_brewer
.
scale_colour_continuous .
.
.
scale_colour_gradient .
.
scale_colour_grey .
.
.
.
scale_colour_hue .
.
.
.
scale_colour_viridis_d .
.
.
scale_continuous
.
.
.
scale_date .
.
.
.
scale_identity .
.
.
.
.
.
.
scale_linetype .
.
.
.
.
.
scale_manual
.
.
.
.
.
scale_shape .
.
.
scale_size .
.
.
.
.
.
.
.
.
scale_x_discrete .
.
.
.
.
.
seals .
.
.
.
.
.
.
sec_axis .
.
.
stat .
.
.
.
.
.
.
.
.
.
stat_ecdf .
.
.
.
.
stat_ellipse
.
.
.
.
.
stat_function .
.
stat_identity .
.
.
.
.
.
.
.
stat_sf_coordinates .
.
.
.
stat_summary_2d .
.
.
.
stat_summary_bin .
.
stat_unique .
.
.
.
.
.
.
.
.
summarise_plot
.
.
.
.
.
theme .
.
.
.
.
.
.
theme_get .
txhousing .
.
.
.
.
.
.
.
.
.
.
.
vars
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
. .
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 150
. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 153
. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 153
. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 154
. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 155
. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 156
. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 157
. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 158
. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 160
. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 161
. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 164
. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 166
. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 168
. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 170
. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 173
. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 176
. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 177
. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 179
. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 181
. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 183
. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 185
. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 187
. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 188
. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 189
. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 190
. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 192
. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 193
. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 195
. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 196
. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 198
. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 200
. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 203
. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 205
. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 206
. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 211
. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 213
. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 214
216
Index
+.gg
Description
Add components to a plot
+ is the key to constructing sophisticated ggplot2 graphics. It allows you to start simple, then get
more and more complex, checking your work at each step.
+.gg
6
Usage
## S3 method for class ’gg’
e1 + e2
e1 %+% e2
Arguments
e1
e2
What can you add?
An object of class ggplot() or a theme().
A plot component, as described below.
You can add any of the following types of objects:
• An aes() object replaces the default aesthetics.
• A layer created by a geom_ or stat_ function adds a new layer.
• A scale overrides the existing scale.
• A theme() modifies the current theme.
• A coord overrides the current coordinate system.
• A facet specification overrides the current faceting.
To replace the current default data frame, you must use %+%, due to S3 method precedence issues.
You can also supply a list, in which case each element of the list will be added in turn.
See Also
theme()
Examples
base <- ggplot(mpg, aes(displ, hwy)) + geom_point()
base + geom_smooth()
# To override the data, you must use %+%
base %+% subset(mpg, fl == "p")
# Alternatively, you can add multiple components with a list.
# This can be useful to return from a function.
base + list(subset(mpg, fl == "p"), geom_smooth())
aes
7
aes
Construct aesthetic mappings
Description
Aesthetic mappings describe how variables in the data are mapped to visual properties (aesthetics)
of geoms. Aesthetic mappings can be set in ggplot2() and in individual layers.
Usage
aes(x, y, ...)
Arguments
x, y, ...
Details
List of name value pairs giving aesthetics to map to variables. The names for
x and y aesthetics are typically omitted because they are so common; all other
aesthetics must be named.
This function also standardises aesthetic names by converting color to colour (also in substrings,
e.g. point_color to point_colour) and translating old style R names to ggplot names (eg. pch to
shape, cex to size).
Value
A list with class uneval. Components of the list are either quosures or constants.
Quasiquotation
aes() is a quoting function. This means that its inputs are quoted to be evaluated in the context of
the data. This makes it easy to work with variables from the data frame because you can name those
directly. The flip side is that you have to use quasiquotation to program with aes(). See a tidy
evaluation tutorial such as the dplyr programming vignette to learn more about these techniques.
See Also
vars() for another quoting function designed for faceting specifications.
Examples
aes(x = mpg, y = wt)
aes(mpg, wt)
# You can also map aesthetics to functions of variables
aes(x = mpg ^ 2, y = wt / cyl)
# Or to constants
aes(x = 1, colour = "smooth")
8
aes_
# Aesthetic names are automatically standardised
aes(col = x)
aes(fg = x)
aes(color = x)
aes(colour = x)
# aes() is passed to either ggplot() or specific layer. Aesthetics supplied
# to ggplot() are used as defaults for every layer.
ggplot(mpg, aes(displ, hwy)) + geom_point()
ggplot(mpg) + geom_point(aes(displ, hwy))
# Tidy evaluation ----------------------------------------------------
# aes() automatically quotes all its arguments, so you need to use tidy
# evaluation to create wrappers around ggplot2 pipelines. The
# simplest case occurs when your wrapper takes dots:
scatter_by <- function(data, ...) {
ggplot(data) + geom_point(aes(...))
}
scatter_by(mtcars, disp, drat)
# If your wrapper has a more specific interface with named arguments,
# you need "enquote and unquote":
scatter_by <- function(data, x, y) {
x <- enquo(x)
y <- enquo(y)
ggplot(data) + geom_point(aes(!!x, !!y))
}
scatter_by(mtcars, disp, drat)
# Note that users of your wrapper can use their own functions in the
# quoted expressions and all will resolve as it should!
cut3 <- function(x) cut_number(x, 3)
scatter_by(mtcars, cut3(disp), drat)
aes_
Define aesthetic mappings programmatically
Description
Aesthetic mappings describe how variables in the data are mapped to visual properties (aesthetics)
of geoms. aes() uses non-standard evaluation to capture the variable names. aes_ and aes_string
require you to explicitly quote the inputs either with "" for aes_string(), or with quote or ~ for
aes_(). (aes_q is an alias to aes_). This makes aes_ and aes_string easy to program with.
Usage
aes_(x, y, ...)