geom_alluvium
receives a dataset of the horizontal (x
) and
vertical (y
, ymin
, ymax
) positions of the lodes
of an alluvial diagram, the intersections of the alluvia with the strata.
It plots both the lodes themselves, using geom_lode
, and the
flows between them, using geom_flow
.
geom_alluvium(mapping = NULL, data = NULL, stat = "alluvium", position = "identity", width = 1/3, axis_width = NULL, knot.pos = 1/6, ribbon_bend = NULL, na.rm = FALSE, show.legend = NA, inherit.aes = TRUE, ...)
mapping | Set of aesthetic mappings created by |
---|---|
data | The data to be displayed in this layer. There are three options: If A A |
stat | The statistical transformation to use on the data; override the default. |
position | Position adjustment, either as a string, or the result of a call to a position adjustment function. |
width | Numeric; the width of each stratum, as a proportion of the distance between axes. Defaults to 1/3. |
axis_width | Deprecated; alias for |
knot.pos | The horizontal distance between a stratum ( |
ribbon_bend | Deprecated; alias for |
na.rm | Logical:
if |
show.legend | logical. Should this layer be included in the legends?
|
inherit.aes | If |
... | Additional arguments passed to |
geom_alluvium
understands the following aesthetics
(required aesthetics are in bold):
x
y
ymin
ymax
alpha
colour
fill
linetype
size
group
group
is used internally; arguments are ignored.
layer
for additional arguments, and
stat_stratum
and geom_stratum
for
intra-axis boxes.
# basic ggplot(as.data.frame(Titanic), aes(weight = Freq, axis1 = Class, axis2 = Sex, axis3 = Age, fill = Survived)) + geom_alluvium() + scale_x_continuous(breaks = 1:3, labels = c("Class", "Sex", "Age"))# time series bump chart ggplot(alluvial::Refugees, aes(weight = refugees, x = year, alluvium = country, fill = country, colour = country)) + geom_alluvium(width = 1/4, alpha = 2/3, decreasing = FALSE)# time series line plot of refugees data, sorted by country ggplot(data = alluvial::Refugees, aes(x = year, weight = refugees, alluvium = country)) + geom_alluvium(aes(fill = country), colour = "black", decreasing = NA, width = 0, knot.pos = 0)