ggplot2::labs()
   get_help() docs


Description

The labs() function is part of the {ggplot2} package, which is part of the {tidyverse}.

We use this function within {ggplot2} plots to add labels, including the following types of labels:

Label type Usage as argument to labs()
X-axis label labs(x = "x-axis label")
Y-axis label labs(y = "y-axis label")
Plot title labs(title = "plot title")
Plot subtitle labs(subtitle = "plot subtitle")
Plot caption labs(caption = "plot caption")
Legend title labs(type of aesthetic in legend = "name of legend")
A type of aesthetic may be fill, color, etc.

To use this function, you need to either first load the {ggplot2} library, or always use the function with ggplot2::labs() notation.

# Load the library
library(ggplot2)
# Or, load the full tidyverse:
library(tidyverse)

# Or, use :: notation
ggplot2::labs()

Examples

The examples below use the msleep dataset. Learn more about this dataset with get_help("msleep").

# Show the msleep dataset with head()
head(msleep)
## # A tibble: 6 × 11
##   name  genus vore  order conservation sleep_total sleep_rem sleep_cycle awake  brainwt  bodywt
##   <chr> <chr> <chr> <chr> <chr>              <dbl>     <dbl>       <dbl> <dbl>    <dbl>   <dbl>
## 1 Owl … Aotus omni  Prim… <NA>                17         1.8      NA       7    0.0155    0.48 
## 2 Moun… Aplo… herbi Rode… nt                  14.4       2.4      NA       9.6 NA         1.35 
## 3 Grea… Blar… omni  Sori… lc                  14.9       2.3       0.133   9.1  0.00029   0.019
## 4 Cow   Bos   herbi Arti… domesticated         4         0.7       0.667  20    0.423   600    
## 5 Thre… Brad… herbi Pilo… <NA>                14.4       2.2       0.767   9.6 NA         3.85 
## 6 Nort… Call… carni Carn… vu                   8.7       1.4       0.383  15.3 NA        20.5


# A fully labeled scatterplot of awake against sleep_rem
ggplot(msleep) + 
  aes(x = sleep_rem, y = awake) + 
  geom_point() +
  labs(x = "Time in REM sleep (hours)",
       y = "Time spent awake (hours)",
       title = "Plot of REM sleep against awake time",
       subtitle = "What a great scatterplot subtitle this is!",
       caption = "Captions are a good place to include the Plot Author")


# Labeling the legend created by the `color` aesthetic
# Note to remove NAs, you must manipulate the data first
ggplot(msleep) + 
  aes(x = sleep_rem, y = awake, color = vore) + 
  geom_point() +
  labs(x = "Time in REM sleep (hours)",
       y = "Time spent awake (hours)",
       color = "Custom legend title for vore color mapping")


# Labeling the legend created by the `fill` aesthetic
# Note to remove NAs, you must manipulate the data first
ggplot(msleep) + 
  aes(x = sleep_rem, y = awake, fill = vore) + 
  geom_point(shape = 21) +
  labs(x = "Time in REM sleep (hours)",
       y = "Time spent awake (hours)",
       fill = "Custom legend title for vore fill mapping")


## CAUTION!! This legend title is buggy and does not appear,
# since the plot doesn't contain a fill aesthetic - it contains a color
# The default legend title is used.
ggplot(msleep) + 
  aes(x = sleep_rem, y = awake, color = vore) + 
  geom_point() +
  labs(x = "Time in REM sleep (hours)",
       y = "Time spent awake (hours)",
       fill = "This title isn't going to appear since there is no fill aes")