1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112 113 114 115 116 117 118 119 120 121 122 123 124 125 126 127 128 129 130 131 132 133 134 135 136 137 138 139 140 141 142 143 144 145 146 147 148 149 150 151 152 153 154 155 156 157 158 159 160 161 162 163 164 165 166 167 168 169 170 171 172 173 174 175 176 177 178 179 180 181 182 183 184 185 186
|
% Generated by roxygen2: do not edit by hand
% Please edit documentation in R/guide-legend.r
\name{guide_legend}
\alias{guide_legend}
\title{Legend guide}
\usage{
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,
...
)
}
\arguments{
\item{title}{A character string or expression indicating a title of guide.
If \code{NULL}, the title is not shown. By default
(\code{\link[=waiver]{waiver()}}), the name of the scale object or the name
specified in \code{\link[=labs]{labs()}} is used for the title.}
\item{title.position}{A character string indicating the position of a
title. One of "top" (default for a vertical guide), "bottom", "left"
(default for a horizontal guide), or "right."}
\item{title.theme}{A theme object for rendering the title text. Usually the
object of \code{\link[=element_text]{element_text()}} is expected. By default, the theme is
specified by \code{legend.title} in \code{\link[=theme]{theme()}} or theme.}
\item{title.hjust}{A number specifying horizontal justification of the
title text.}
\item{title.vjust}{A number specifying vertical justification of the title
text.}
\item{label}{logical. If \code{TRUE} then the labels are drawn. If
\code{FALSE} then the labels are invisible.}
\item{label.position}{A character string indicating the position of a
label. One of "top", "bottom" (default for horizontal guide), "left", or
"right" (default for vertical guide).}
\item{label.theme}{A theme object for rendering the label text. Usually the
object of \code{\link[=element_text]{element_text()}} is expected. By default, the theme is
specified by \code{legend.text} in \code{\link[=theme]{theme()}}.}
\item{label.hjust}{A numeric specifying horizontal justification of the
label text. The default for standard text is 0 (left-aligned) and 1
(right-aligned) for expressions.}
\item{label.vjust}{A numeric specifying vertical justification of the label
text.}
\item{keywidth}{A numeric or a \code{\link[grid:unit]{grid::unit()}} object specifying
the width of the legend key. Default value is \code{legend.key.width} or
\code{legend.key.size} in \code{\link[=theme]{theme()}}.}
\item{keyheight}{A numeric or a \code{\link[grid:unit]{grid::unit()}} object specifying
the height of the legend key. Default value is \code{legend.key.height} or
\code{legend.key.size} in \code{\link[=theme]{theme()}}.}
\item{direction}{A character string indicating the direction of the guide.
One of "horizontal" or "vertical."}
\item{default.unit}{A character string indicating \code{\link[grid:unit]{grid::unit()}}
for \code{keywidth} and \code{keyheight}.}
\item{override.aes}{A list specifying aesthetic parameters of legend key.
See details and examples.}
\item{nrow}{The desired number of rows of legends.}
\item{ncol}{The desired number of column of legends.}
\item{byrow}{logical. If \code{FALSE} (the default) the legend-matrix is
filled by columns, otherwise the legend-matrix is filled by rows.}
\item{reverse}{logical. If \code{TRUE} the order of legends is reversed.}
\item{order}{positive integer less than 99 that specifies the order of
this guide among multiple guides. This controls the order in which
multiple guides are displayed, not the contents of the guide itself.
If 0 (default), the order is determined by a secret algorithm.}
\item{...}{ignored.}
}
\description{
Legend type guide shows key (i.e., geoms) mapped onto values.
Legend guides for various scales are integrated if possible.
}
\details{
Guides can be specified in each \verb{scale_*} or in \code{\link[=guides]{guides()}}.
\code{guide = "legend"} in \verb{scale_*} is syntactic sugar for
\code{guide = guide_legend()} (e.g. \code{scale_color_manual(guide = "legend")}).
As for how to specify the guide for each scale in more detail,
see \code{\link[=guides]{guides()}}.
}
\examples{
\donttest{
df <- expand.grid(X1 = 1:10, X2 = 1:10)
df$value <- df$X1 * df$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 = guide_legend())
# Control styles
# 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 = 0
)
)
)
# label position
p1 + guides(fill = guide_legend(label.position = "left", label.hjust = 1))
# 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 = 1,
label.theme = element_text(angle = 90)
)
)
# Set aesthetic of legend key
# very low alpha value make it difficult to see legend key
p3 <- ggplot(mtcars, aes(vs, am, colour = factor(cyl))) +
geom_jitter(alpha = 1/5, width = 0.01, height = 0.01)
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))
# reversed order legend
p + guides(col = guide_legend(reverse = TRUE))
}
}
\seealso{
Other guides:
\code{\link{guide_bins}()},
\code{\link{guide_colourbar}()},
\code{\link{guide_coloursteps}()},
\code{\link{guides}()}
}
\concept{guides}
|