In this chapter, we shall discuss about Marginal Plots.
Marginal plots are used to assess relationship between two variables and examine their distributions. When we speak about creating marginal plots, they are nothing but scatter plots that has histograms, box plots or dot plots in the margins of respective x and y axes.
Following steps will be used to create marginal plot with R using package “ggExtra”. This package is designed to enhance the features of “ggplot2” package and includes various functions for creating successful marginal plots.
Install “ggExtra” package using following command for successful execution (if the package is not installed in your system).
> install.packages("ggExtra")
Include the required libraries in the workspace to create marginal plots.
> library(ggplot2) > library(ggExtra)
Reading the required dataset “mpg” which we have used in previous chapters.
> data(mpg) > head(mpg) # A tibble: 6 x 11 manufacturer model displ year cyl trans drv cty hwy fl class <chr> <chr> <dbl> <int> <int> <chr> <chr> <int> <int> <chr> <chr> 1 audi a4 1.8 1999 4 auto(l5) f 18 29 p compa~ 2 audi a4 1.8 1999 4 manual(m5) f 21 29 p compa~ 3 audi a4 2 2008 4 manual(m6) f 20 31 p compa~ 4 audi a4 2 2008 4 auto(av) f 21 30 p compa~ 5 audi a4 2.8 1999 6 auto(l5) f 16 26 p compa~ 6 audi a4 2.8 1999 6 manual(m5) f 18 26 p compa~ >
Now let us create a simple plot using “ggplot2” which will help us understand the concept of marginal plots.
> #Plot > g <- ggplot(mpg, aes(cty, hwy)) + + geom_count() + + geom_smooth(method="lm", se=F) > g
Now let us create the marginal plots using ggMarginal function which helps to generate relationship between two attributes “hwy” and “cty”.
> ggMarginal(g, type = "histogram", fill="transparent") > ggMarginal(g, type = "boxplot", fill="transparent")
The output for histogram marginal plots is mentioned below −
The output for box marginal plots is mentioned below −