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)