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.

aes(x, y, ...)


x, y, ...

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 standardise aesthetic names by performing partial matching, converting color to colour, and translating old style R names to ggplot names (eg. pch to shape, cex to size)

See also

See aes_ for a version of aes that is more suitable for programming with.


aes(x = mpg, y = wt)
#> * x -> mpg #> * y -> wt
aes(mpg, wt)
#> * x -> mpg #> * y -> wt
# You can also map aesthetics to functions of variables aes(x = mpg ^ 2, y = wt / cyl)
#> * x -> mpg^2 #> * y -> wt/cyl
# Aesthetic names are automatically standardised aes(col = x)
#> * colour -> x
aes(fg = x)
#> * colour -> x
aes(color = x)
#> * colour -> x
aes(colour = x)
#> * colour -> x
# aes is almost always used with ggplot() or a layer ggplot(mpg, aes(displ, hwy)) + geom_point()
ggplot(mpg) + geom_point(aes(displ, hwy))
# Aesthetics supplied to ggplot() are used as defaults for every layer # you can override them, or supply different aesthetics for each layer