R ggplot2 Jitter

The R ggplot2 Jitter is very useful to handle the overplotting caused by the smaller datasets discreteness. Let us see how to plot a ggplot jitter, Format its color, change the labels, adding boxplot, violin plot, and alter the legend position using R ggplot2 with example.

The syntax to draw a ggplot jitter in R Programming is

geom_jitter(data = NULL, width = NULL, height = NULL)

and the complex syntax behind this Jitter is:

geom_jitter(mapping = NULL, data = NULL, stat = "identity",
            width = NULL, height = NULL, position = "jitter", ...,
            na.rm = FALSE, show.legend = NA, inherit.aes = TRUE)

Create R ggplot2 Jitter

Let us see how to plot the Jitter using the ggplot2 package, and we are going to use the ChickWeight data set, provided by the Studio.

TIP: The ggplot2 package not installed by default. Please refer Install R Packages article to install the package in R Programming.

# Create R ggplot Jittering

# Importing the ggplot2 library
library(ggplot2)

# Creating basic Jitter
ggplot(ChickWeight, aes(x = Diet, y = weight)) + 
  geom_jitter()
R ggplot2 Jitter 1

NOTE: If you require to import data from external files, then please refer R Read CSV article to import the CSV file.

Change Colors of a Jiiter in R

Let us see how to change the R Jitter plot dot colors using the color argument

# Change Color of a R ggplot Jitter

# Importing the ggplot2 library
library(ggplot2)

# Creating basic Jitter
ggplot(ChickWeight, aes(x = Diet, y = weight)) + 
  geom_jitter(aes(colour = Diet))
R ggplot2 Jitter 2

Position adjustment in a ggplot2 Jitter

Here, we show how to adjust the dot positions using position argument

# Position adjustment of a R ggplot Jitter

# Importing the ggplot2 library
library(ggplot2)

# Creating basic Jitter
ggplot(ChickWeight, aes(x = Diet, y = weight)) + 
  geom_jitter(position = position_jitter(0.5), 
              aes(colour = Diet))
R ggplot2 Jitter 3

Change Size, and Shape of a dot in a R ggplot2 Jitter

How to change the size of the character that represents the point using cex argument, and shape of the character using shape argument.

  • cex: Please specify the size of the point(s)
# Change Shape & Size of a Point in a R ggplot Jitter

# Importing the ggplot2 library
library(ggplot2)

# Creating basic Jitter
ggplot(ChickWeight, aes(x = Diet, y = weight)) + 
  geom_jitter(position = position_jitter(0.5), 
              aes(colour = Diet),
              cex = 1.8, shape = 8)
R ggplot2 Jitter 4

Change Width, and Height of a R ggplot2 Jitter

In this example, we show how to change the width and height of the jitter plot

# Change Width & Height of a R ggplot Jitter

# Importing the ggplot2 library
library(ggplot2)

# Creating basic Jitter
ggplot(ChickWeight, aes(x = Diet, y = weight)) + 
  geom_jitter(aes(colour = Diet),
              width = 1.4, height = 500)
R ggplot2 Jitter 5

Add Mean & Median to R ggplot2 Jitter

Let us see how to add Mean, and Median value toggplot2 Jitter plot using stat_summary function.

# Add Mean & Median to R ggplot Jitter

# Importing the ggplot2 library
library(ggplot2)

# Creating basic Jitter
ggplot(ChickWeight, aes(x = Diet, y = weight)) + 
  geom_jitter(position = position_jitter(0.5), aes(colour = Diet)) +
  stat_summary(fun.y = "mean", geom = "point", 
               shape = 8, size = 3, color = "darkorchid4" ) +
  stat_summary(fun.y = "median", geom = "point", 
               shape = 2, size = 3, color = "mediumvioletred")
R ggplot2 Jitter 6

Add Boxplot to R ggplot2 Jitter

In this example, we add boxplot to R Jitter using geom_boxplot function. It help us to see the Median, along with the quartile for our violin plot.

TIP: Please refer R ggplot2 Boxplot article to understand the Boxplot arguments.

# Add Boxplot to R ggplot Jitter

# Importing the ggplot2 library
library(ggplot2)

# Creating basic Jitter
ggplot(ChickWeight, aes(x = Diet, y = weight)) + 
  geom_boxplot() +
  geom_jitter(position = position_jitter(0.5), aes(colour = Diet))
R ggplot2 Jitter 7

Add Boxplot to R ggplot2 jitter 2

In this example, we draw a line on each side of the boxes using notch argument

# Add Boxplot to R ggplot Jitter

# Importing the ggplot2 library
library(ggplot2)

# Creating basic Jitter
ggplot(ChickWeight, aes(x = Diet, y = weight)) + 
  geom_boxplot(notch = TRUE) +
  geom_jitter(position = position_jitter(0.5), aes(colour = Diet))
R ggplot2 Jitter 8

Add Violin plot to R ggplot2 Jitter

In this example, we show how to add Violin Plot to Jitter using geom_violin function.

TIP: Please refer R ggplot2 Violin Plot article to understand the Violin plot arguments.

# Add Violin Plot to R ggplot Jitter

# Importing the ggplot2 library
library(ggplot2)

# Creating basic Jitter
ggplot(ChickWeight, aes(x = Diet, y = weight, color = Diet)) + 
  geom_violin(fill = "midnightblue") +
  geom_jitter(position = position_jitter(0.2)) 
R ggplot2 Jitter 9

Alter Legend position of a ggplot2 Jitter

By default, ggplot position the legend at the right side of a Jitter. Let us see how to change the legend position from right to top. Note, You can use legend.position = “none” to completely remove the legend.

# Alter Legend Position in R ggplot Jitter

# Importing the ggplot2 library
library(ggplot2)

# Creating basic Jitter
ggplot(ChickWeight, aes(x = Diet, y = weight, color = Diet)) + 
  geom_violin(fill = "midnightblue") +
  geom_jitter(position = position_jitter(0.2)) +
  theme(legend.position = "top")
R ggplot2 Jitter 10

Assigning names to ggplot2 Jitter

How to assign names to ggplot jitter plot, X-Axis, and Y-Axis using labs function?

# Alter Legend Position in R ggplot Jitter

# Importing the ggplot2 library
library(ggplot2)

# Creating basic Jitter
ggplot(ChickWeight, aes(x = Diet, y = weight, color = Diet)) + 
  geom_violin(fill = "midnightblue") +
  geom_jitter(position = position_jitter(0.2)) +
  theme(legend.position = "top")
R ggplot2 Jitter 11

Change R ggplot2 Jitter Theme

In this example, we show how to change the default theme of a ggplot jitter

  • theme_dark(): We use this function to change the jitter default theme to dark. If you type theme_ then R Studio intelligence will show you the list of available options. For example, theme_grey()
# Change the Theme of a R ggplot Jitter

# Importing the ggplot2 library
library(ggplot2)

# Creating basic Jitter
ggplot(ChickWeight, aes(x = Diet, y = weight, color = Diet)) + 
  geom_violin(fill = "midnightblue") +
  geom_jitter(position = position_jitter(0.2)) +
  labs(title="GGPLOT JITTER", x="Chick Diet", y="Weight") +
  theme_dark()
R ggplot2 Jitter 12

About Suresh

Suresh is the founder of TutorialGateway and a freelance software developer. He specialized in Designing and Developing Windows and Web applications. The experience he gained in Programming and BI integration, and reporting tools translates into this blog. You can find him on Facebook or Twitter.