guide_legend(title = waiver(), title.position = NULL, title.theme = NULL, title.hjust = NULL, title.vjust = NULL, label = TRUE, label.position = NULL, label.theme = NULL, label.hjust = NULL, label.vjust = NULL, keywidth = NULL, keyheight = NULL, direction = NULL, default.unit = "line", override.aes = list(), nrow = NULL, ncol = NULL, byrow = FALSE, reverse = FALSE, order = 0, ...)
NULL
, the title is not shown. By default
(waiver
), the name of the scale object or the name
specified in labs
is used for the title.element_text
is expected. By default, the theme is
specified by legend.title
in theme
or theme.TRUE
then the labels are drawn. If
FALSE
then the labels are invisible.element_text
is expected. By default, the theme is
specified by legend.text
in theme
or theme.unit
object specifying
the width of the legend key. Default value is legend.key.width
or
legend.key.size
in theme
or theme.unit
object specifying
the height of the legend key. Default value is legend.key.height
or
legend.key.size
in theme
or theme.unit
for keywidth
and keyheight
.FALSE
(the default) the legend-matrix is
filled by columns, otherwise the legend-matrix is filled by rows.TRUE
the order of legends is reversed.Legend type guide shows key (i.e., geoms) mapped onto values. Legend guides for various scales are integrated if possible.
Guides can be specified in each scale_*
or in guides
.
guide="legend"
in scale_*
is syntactic sugar for
guide=guide_legend()
(e.g. scale_color_manual(guide = "legend")
).
As for how to specify the guide for each scale in more detail,
see guides
.
df <- reshape2::melt(outer(1:4, 1:4), varnames = c("X1", "X2")) p1 <- ggplot(df, aes(X1, X2)) + geom_tile(aes(fill = value)) p2 <- p1 + geom_point(aes(size = value)) # Basic form p1 + scale_fill_continuous(guide = "legend")
p1 + scale_fill_continuous(guide = guide_legend())
# Guide title p1 + scale_fill_continuous(guide = guide_legend(title = "V")) # title text
p1 + scale_fill_continuous(guide = guide_legend(title = NULL)) # no title
# Control styles # key size p1 + guides(fill = guide_legend(keywidth = 3, keyheight = 1))
# title position p1 + guides(fill = guide_legend(title = "LEFT", title.position = "left"))
# title text styles via element_text p1 + guides(fill = guide_legend( title.theme = element_text(size=15, face="italic", colour = "red", angle = 45)))
# label position p1 + guides(fill = guide_legend(label.position = "bottom"))
# label styles p1 + scale_fill_continuous(breaks = c(5, 10, 15), labels = paste("long", c(5, 10, 15)), guide = guide_legend(direction = "horizontal", title.position = "top", label.position="bottom", label.hjust = 0.5, label.vjust = 0.5, label.theme = element_text(angle = 90)))
# Set aesthetic of legend key # very low alpha value make it difficult to see legend key p3 <- ggplot(diamonds, aes(carat, price)) + geom_point(aes(colour=color), alpha=1/100) p3
# override.aes overwrites the alpha p3 + guides(colour = guide_legend(override.aes = list(alpha = 1)))
# multiple row/col legends df <- data.frame(x = 1:20, y = 1:20, color = letters[1:20]) p <- ggplot(df, aes(x, y)) + geom_point(aes(colour = color)) p + guides(col = guide_legend(nrow = 8))
p + guides(col = guide_legend(ncol = 8))
p + guides(col = guide_legend(nrow = 8, byrow = TRUE))
p + guides(col = guide_legend(ncol = 8, byrow = TRUE))
# reversed order legend p + guides(col = guide_legend(reverse = TRUE))