geom_hextile {gghexsize} | R Documentation |
Hexagonal heatmap of 2d bin summaries sized by bin counts
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 size and fill.
If a z
aesthetic is provided, the hexagon fill is instead mapped to
the summary of z
with fun
. z2
and z3
are made available in the case
that multiple summary statistics are required.
Hexagon bins avoid the visual artefacts sometimes generated by
the very regular alignment of ggplot2::geom_bin_2d()
.
Usage
geom_hextile(
mapping = NULL,
data = NULL,
stat = "summary_hextile",
position = "identity",
...,
na.rm = FALSE,
show.legend = NA,
inherit.aes = TRUE
)
stat_summary_hextile(
mapping = NULL,
data = NULL,
geom = "hextile",
position = "identity",
...,
bins = 30,
binwidth = NULL,
drop = TRUE,
fun = "mean",
fun.args = list(),
fun2 = "mean",
fun2.args = list(),
fun3 = "mean",
fun3.args = list(),
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 |
A position adjustment to use on the data for this layer. This
can be used in various ways, including to prevent overplotting and
improving the display. The
|
... |
Other arguments passed on to
|
na.rm |
If |
show.legend |
logical. Should this layer be included in the legends?
|
inherit.aes |
If |
geom , stat |
geom,stat Override the default connection between |
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 |
drop |
drop if the output of |
fun , fun2 , fun3 |
function for summary. |
fun.args , fun2.args , fun3.args |
A list of extra arguments to pass to |
Value
A ggplot2::layer()]
Aesthetics
geom_hextile()
understands the following aesthetics.
Required aesthetics are displayed in bold and defaults are displayed for optional aesthetics:
Learn more about setting these aesthetics in vignette("ggplot2-specs")
.
stat_summary_hextile()
understands the following aesthetics.
Required aesthetics are displayed in bold and defaults are displayed for optional aesthetics:
Learn more about setting these aesthetics in vignette("ggplot2-specs")
.
Computed variables
These are calculated by the 'stat' part of layers and can be accessed with delayed evaluation.
-
after_stat(x)
,after_stat(y)
location. -
after_stat(count)
number of points in bin. -
after_stat(density)
density of points in bin, scaled to integrate to 1. -
after_stat(ncount)
count, scaled to maximum of 1. -
after_stat(ndensity)
density, scaled to maximum of 1. -
after_stat(value)
number of points in bin, or ifz
is supplied, value of summary statistic fromz
. -
after_stat(value2)
ifz2
is supplied, value of summary statistic fromz2
. -
after_stat(value3)
ifz3
is supplied, value of summary statistic fromz3
.
Controlling binning parameters for the x and y directions
The arguments bins
and binwidth
can be set separately for the x and y directions.
When given as a scalar, one value applies to both directions.
When given as a vector of length two, the first is applied to the x direction
and the second to the y direction.
Alternatively, these can be a named list containing x and y elements,
for example list(x = 10, y = 20)
.
See Also
scale_size_tile()
, draw_key_hextile()
, ggplot2::stat_summary_hex()
,
ggplot2::stat_bin_hex()
, ggplot2::geom_hex()
.
Examples
library(ggplot2)
d <- ggplot(diamonds, aes(carat, depth, z = price))
# fill: median price in bin
# size: number of points in bin
d +
geom_hextile(fun = "median") +
scale_size_tile(limits = c(0, 100))
# fill: mean price in bin
# size: sum of prices in bin
d +
geom_hextile(aes(z2 = price, size = after_stat(value2)), fun2 = "sum") +
scale_size_tile(limits = c(0, 1e5))
# fill: mean price in bin
# size: density, scaled to maximum of 1, weighted by price
d +
geom_hextile(aes(weight = price, size = after_stat(ndensity))) +
scale_size_tile(limits = c(0, 0.1))
# fill: number of points in bin
# size: number of points in bin
ggplot(diamonds, aes(carat, depth)) +
geom_hextile() +
scale_size_tile(limits = c(0, 100))