A one-liner to position the legend on the left side of the plot with correct
left alignment for both the key box and text labels. This goes beyond simple
legend.position = "left" by also setting justification and box alignment.
Details
When by is NULL (default), this function sets three theme elements:
legend.position = "left"to place the legend on the leftlegend.justification = "left"to left-justify the legend boxlegend.box.just = "left"to left-align multiple legend boxes
When by is specified, only the legend for that aesthetic is moved,
allowing different legends to be placed in different positions.
Examples
library(ggplot2)
# Basic usage
ggplot(mtcars, aes(mpg, wt, color = factor(cyl))) +
geom_point() +
legend_left()
# Works with multiple legends
ggplot(mtcars, aes(mpg, wt, color = factor(cyl), shape = factor(am))) +
geom_point(size = 3) +
legend_left()
# Position only the colour legend on the left
ggplot(mtcars, aes(mpg, wt, color = factor(cyl), size = hp)) +
geom_point() +
legend_left(by = "colour") +
legend_bottom(by = "size")