A one-liner to arrange legend entries in a grid layout. Works with discrete legends by applying the specified layout to all color, fill, shape, size, linetype, and alpha aesthetics.
Details
This function creates a guides() specification that applies the same
column/row layout to all common discrete aesthetics. At least one of ncol
or nrow should be specified.
Examples
library(ggplot2)
# Wrap a long legend into 2 columns
ggplot(mpg, aes(displ, hwy, color = class)) +
geom_point() +
legend_wrap(ncol = 2)
# Wrap into 3 rows, filling by column
ggplot(mpg, aes(displ, hwy, color = class)) +
geom_point() +
legend_wrap(nrow = 3, byrow = FALSE)
# Combine with legend_left for left-aligned wrapped legends
ggplot(mpg, aes(displ, hwy, color = class)) +
geom_point() +
legend_wrap(ncol = 2) +
legend_left()