ggplot2::geom_jitter()
   get_help()
docs
The geom_jitter()
function is part of the {ggplot2}
package, which is part of the {tidyverse}
.
The geom_jitter()
function is used within {ggplot2}
plots to create strip plots, also know as jitter plots. (Note that geom_jitter()
is technically a shortcut for geom_point(position = position_jitter())
.)
x
: The x-axis coordinate(s) for the points (pre-jittering)y
: The y-axis coordinate(s) for the points (pre-jittering)color
(colour
): The point colorfill
: The point fill, when the shape is specified to allow a fillsize
: The point sizeshape
: The point shapestroke
: The point outline size, when the shape is specified to allow a fillalpha
: Point transparency, ranging from 0-1 where 0 is fully transparent and 1 is fully opaque.width
: The separation between jitter distributions. It is good practice to always find an appropriate width for your data!The default point shape used for plotting is 20.
To use this function, you need to either first load the {ggplot2}
library, or always use the function with ggplot2::geom_jitter()
notation.
# Load the library
library(ggplot2)
# Or, load the full tidyverse:
library(tidyverse)
# Or, use :: notation
::geom_jitter() ggplot2
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
# Jitter plot of awake against vore, colored by vore for clarity
# Note to remove NAs, you must manipulate the data first
ggplot(msleep) +
aes(x = vore, y = awake, color = vore) +
geom_jitter()
# Modify the spacing along the x-axis with the width argument
# Note to remove NAs, you must manipulate the data first
ggplot(msleep) +
aes(x = vore, y = awake, color = vore) +
geom_jitter(width = 0.1)
# Examples of further point modifications, shown comprehensively
# Note to remove NAs, you must manipulate the data first
ggplot(msleep) +
aes(x = vore, y = awake) +
geom_jitter(width = 0.15,
shape = 22,
size = 4,
stroke = 2, # point outline width
color = "orange",
fill = "blue",
alpha = 0.5)
# To make a single jitter plot containing all values, use aes(x = "")
ggplot(msleep) +
aes(x = "", y = awake) +
geom_jitter(width = 0.2)