The goal of this tutorial is to learn how to remove all elements from a plot with ggplot. This could be useful if we want to produce a plot with certain characteristics.
# First we load the libraries
library(ggplot2)
# In this example we will use the open repository of plants classification Iris.
data("iris")
str(iris)
## 'data.frame': 150 obs. of 5 variables:
## $ Sepal.Length: num 5.1 4.9 4.7 4.6 5 5.4 4.6 5 4.4 4.9 ...
## $ Sepal.Width : num 3.5 3 3.2 3.1 3.6 3.9 3.4 3.4 2.9 3.1 ...
## $ Petal.Length: num 1.4 1.4 1.3 1.5 1.4 1.7 1.4 1.5 1.4 1.5 ...
## $ Petal.Width : num 0.2 0.2 0.2 0.2 0.2 0.4 0.3 0.2 0.2 0.1 ...
## $ Species : Factor w/ 3 levels "setosa","versicolor",..: 1 1 1 1 1 1 1 1 1 1 ...
# Let's plot the petal length vs petal width
ggplot() + geom_point(data = iris, aes(x = Petal.Width, y = Petal.Length,color = Species))
In this step we are going to remove elements from the plot one by one and see how it affects the look of the plot. The trick for most of the cases will be to declare element_blank the variable that defines the specific element
# To delete the legend we can declare the position of the legend to be none
ggplot() + geom_point(data = iris, aes(x = Petal.Width, y = Petal.Length,color = Species))+
theme(legend.position = "none")
# We can remove all the grid or just one element of the grid
# Removing the thick grid
ggplot() + geom_point(data = iris, aes(x = Petal.Width, y = Petal.Length,color = Species))+
theme(legend.position = "none",
panel.grid.major = element_blank())
# Removing the thin grid
ggplot() + geom_point(data = iris, aes(x = Petal.Width, y = Petal.Length,color = Species))+
theme(legend.position = "none",
panel.grid.minor = element_blank())
# Removing both grids
ggplot() + geom_point(data = iris, aes(x = Petal.Width, y = Petal.Length,color = Species))+
theme(legend.position = "none",
panel.grid = element_blank())
# We can remove all elements of the axis one by one
# Removing the title of the x axis
ggplot() + geom_point(data = iris, aes(x = Petal.Width, y = Petal.Length,color = Species))+
theme(legend.position = "none",
panel.grid = element_blank(),
axis.title.x = element_blank())
# Removing the title of the y axis
ggplot() + geom_point(data = iris, aes(x = Petal.Width, y = Petal.Length,color = Species))+
theme(legend.position = "none",
panel.grid = element_blank(),
axis.title.y = element_blank())
# Removing both titles
ggplot() + geom_point(data = iris, aes(x = Petal.Width, y = Petal.Length,color = Species))+
theme(legend.position = "none",
panel.grid = element_blank(),
axis.title = element_blank())
# Removing the numbers of the x axis
ggplot() + geom_point(data = iris, aes(x = Petal.Width, y = Petal.Length,color = Species))+
theme(legend.position = "none",
panel.grid = element_blank(),
axis.title = element_blank(),
axis.text.x = element_blank())
# Removing the numbers of the y axis
ggplot() + geom_point(data = iris, aes(x = Petal.Width, y = Petal.Length,color = Species))+
theme(legend.position = "none",
panel.grid = element_blank(),
axis.title = element_blank(),
axis.text.y = element_blank())
# Removing text of both axis
ggplot() + geom_point(data = iris, aes(x = Petal.Width, y = Petal.Length,color = Species))+
theme(legend.position = "none",
panel.grid = element_blank(),
axis.title = element_blank(),
axis.text = element_blank())
# Removing the ticks of the x axis
ggplot() + geom_point(data = iris, aes(x = Petal.Width, y = Petal.Length,color = Species))+
theme(legend.position = "none",
panel.grid = element_blank(),
axis.title = element_blank(),
axis.text = element_blank(),
axis.ticks.x = element_blank())
# Removing the ticks of the y axis
ggplot() + geom_point(data = iris, aes(x = Petal.Width, y = Petal.Length,color = Species))+
theme(legend.position = "none",
panel.grid = element_blank(),
axis.title = element_blank(),
axis.text = element_blank(),
axis.ticks.y = element_blank())
# Removing the ticks of both axis
# Removing the ticks of the x axis
ggplot() + geom_point(data = iris, aes(x = Petal.Width, y = Petal.Length,color = Species))+
theme(legend.position = "none",
panel.grid = element_blank(),
axis.title = element_blank(),
axis.text = element_blank(),
axis.ticks = element_blank())
# Removing the background
ggplot() + geom_point(data = iris, aes(x = Petal.Width, y = Petal.Length,color = Species))+
theme(legend.position = "none",
panel.grid = element_blank(),
axis.title = element_blank(),
axis.text = element_blank(),
axis.ticks = element_blank(),
panel.background = element_blank())
In this tutorial we have learnt how to remove individual elements of a ggplot. Now we are able to choose which elements do we want to use in our plots and which don’t.