How to Make Grouped Boxplots with ggplot2 in R?

03 Dec, 2021
In this article, we will discuss how to make a grouped boxplot in the R Programming Language using the ggplot2 package.
Boxplot helps us to visualize the distribution of quantitative data comparing different continuous or categorical variables. Boxplots consist of a five-number summary which helps in detecting and removing outliers from the dataset. These five summary numbers are Minimum, First Quartile, Median, Third Quartile, and Maximum.
Grouped Boxplots are used to visualize the data having multiple subgroups. Also, we can visualize three variables at a time with grouped boxplots where one variable is numerical and the other two are categorical variables. We can visualize the fourth variable by using the color property of ggplot in R.
First, to make a basic boxplot in R using the ggplot2 package, we use the geom_boxplot() function in the R Language.
Syntax:
ggplot(dataframe,  aes( x, y ) ) + geom_boxplot()
Example:
Here, is a basic boxplot made using the geom_boxplot function of the ggplot2 package.
R
# load library ggplotlibrary(ggplot2)  # Plot boxplot using ggplot function# diamonds dataset used here is inbuilt in the R Languageplot <- ggplot(diamonds, aes(x=factor(cut), y=carat))+     geom_boxplot()+     theme( legend.position = "none" ) # print boxplotplot
Output: 
To convert this basic boxplot to grouped boxplot we use the color property of aes() function of the ggplot2 package. Here, we use a third variable as the value of argument color to convert a basic boxplot to grouped boxplot.
Syntax:
ggplot(dataframe,  aes( x, y, color = z ) ) + geom_boxplot() 
Parameters:
x is first categorical variable
y is quantitative variable
z is second categorical variable.
Example:
Here, is a boxplot grouped by variable color in ggplot2. The diamonds dataset used in example is pre-built in R Language.
R
# load library ggplotlibrary(ggplot2)  # Plot boxplot using ggplot function# diamonds dataset used here is inbuilt in the R Languageplot <- ggplot(diamonds, aes(x=factor(cut), y=carat, color = factor(color)))+     geom_boxplot()+     theme( legend.position = "none" ) # print boxplotplot
Output:
There is one more way to make a grouped boxplot in the R language using the ggplot2 package. It is to use facet in ggplot. The faceting functions in ggplot2 offer a general solution to split up the data by one or more variables and make plots with subsets of data together. To create a grouped boxplot, we can use the facet_wrap() function.
Syntax:
ggplot(dataframe,  aes( x, y ) ) + geom_boxplot() + facet_wrap(~z)
Parameters:
x is first categorical variable
y is quantitative variable
z is second categorical variable
Example:
Here, is a boxplot grouped by variable color in ggplot2 using facet_wrap() function. The diamonds dataset used in the example is pre-built in R Language. We have also colored the plot by using the cut variable as a value to color argument in the ggplot() function.
R
# load library ggplotlibrary(ggplot2)  # Plot boxplot using ggplot function# diamonds dataset used here is inbuilt in the R Languageplot <- ggplot(diamonds, aes(x=factor(cut), y=carat, color=factor(cut) ))+     geom_boxplot()+     theme( legend.position = "none" )+     facet_wrap(~color, ncol=3) # print boxplotplot
Output:
surindertarika1234
Picked
R-ggplot
R Language
Writing code in comment?
Please use ide.geeksforgeeks.org,
generate link and share the link here.
Change Color of Bars in Barchart using ggplot2 in R
How to Split Column Into Multiple Columns in R DataFrame?
Group by function in R using Dplyr
How to Change Axis Scales in R Plots?
How to filter R DataFrame by values in a column?
Logistic Regression in R Programming
R - if statement
Replace Specific Characters in String in R
How to import an Excel File into R ?
Joining of Dataframes in R Programming