geom_hex_tern {ggtern} | R Documentation |
Hexbin (ggtern version).
Description
Divides the plane into regular hexagons, counts the number of cases in each hexagon, and then (by default) maps the number of cases to the hexagon fill. Hexagon bins avoid the visual artefacts sometimes generated by the very regular alignment of [geom_bin2d()].
Usage
geom_hex_tern(
mapping = NULL,
data = NULL,
stat = "hex_tern",
position = "identity",
...,
fun = sum,
na.rm = FALSE,
show.legend = NA,
inherit.aes = TRUE
)
stat_hex_tern(
mapping = NULL,
data = NULL,
geom = "hex_tern",
position = "identity",
...,
bins = 30,
fun = sum,
binwidth = NULL,
na.rm = FALSE,
show.legend = NA,
inherit.aes = TRUE
)
Arguments
mapping |
Set of aesthetic mappings created by |
data |
The data to be displayed in this layer. There are three options: If A A |
position |
Position adjustment, either as a string naming the adjustment
(e.g. |
... |
Other arguments passed on to |
fun |
the scalar function to use for the statistic |
na.rm |
If |
show.legend |
logical. Should this layer be included in the legends?
|
inherit.aes |
If |
geom , stat |
Override the default connection between 'geom_hex_tern' and 'stat_hex_tern' |
bins |
numeric vector giving number of bins in both vertical and horizontal directions. Set to 30 by default. |
binwidth |
Numeric vector giving bin width in both vertical and
horizontal directions. Overrides |
Details
This geometry is loosely based on the base ggplot2 geom_hex, with a few subtle
(but advantageous differences). The user can control the border thickness of the
hexagonal polygons using the size aesthetic. The user can also control the
particular statistic to use, by defining the fun
argument (sum by default), which by default
is applied over a value of 1 per point, however, this can also be mapped to a data variable
via the 'value' mapping.
Aesthetics
@section Aesthetics:
geom_hex()
understands the following aesthetics (required aesthetics are in bold):
Learn more about setting these aesthetics in vignette("ggplot2-specs")
.
Examples
set.seed(1)
n = 1000
df = data.frame(x = runif(n),
y = runif(n),
z = runif(n),
wt = runif(n))
#Equivalent of Hexbin
ggtern(df,aes(x,y,z)) +
geom_hex_tern(binwidth=0.1)
#Calculate Mean of variable wt
ggtern(df,aes(x,y,z)) +
geom_hex_tern(binwidth=0.05,
aes(value=wt),
fun=mean)
#Custom functions, for ex. discrete output...
myfun = function(x) sample(LETTERS,1)
ggtern(df,aes(x,y,z)) +
geom_hex_tern(binwidth=0.05,
fun=myfun)