Open In App

How To Manually Order Boxplot in Seaborn?

Improve
Improve
Improve
Like Article
Like
Save Article
Save
Share
Report issue
Report

Seaborn is an amazing visualization library for statistical graphics plotting in Python. It provides beautiful default styles and color palettes to make statistical plots more attractive. It is built on the top of matplotlib library and also closely integrated into the data structures from pandas.
Seaborn aims to make visualization of the central part of exploring and understanding data. It provides dataset-oriented APIs, so that we can switch between different visual representations for the same variables for a better understanding of the dataset.

Box Plot is the visual representation of the depicting groups of numerical data through their quartiles. Boxplot is also used for detecting the outlier in the data set. It captures the summary of the data efficiently with a simple box and whiskers and allows us to compare easily across groups. Boxplot summarizes sample data using 25th, 50th, and 75th percentiles. These percentiles are also known as the lower quartile, median and upper quartile.

In this article, we will discuss how to order a boxplot manually.

Dataset Used

The dataset used in the below example is https://www.kaggle.com/ranjeetjain3/seaborn-tips-dataset

Step-by-step Approach:

  • Import libraries

Python3




# import required modules
import pandas as pd
import numpy as np
import matplotlib.pyplot as plt
import seaborn as sns


 
 

  • Load dataset

Python3




# load dataset
tips= sns.load_dataset('tips')
 
# display top most rows
tips.head()                     


Output:

  • Plot the boxplot.

Python3




# illustrate box plot
fx = sns.boxplot(x='day', y='total_bill', data=tips, hue='sex', palette='Set2')


Output:

  • Plotting the boxplot using seaborn. See the difference in the order of the above figure and after setting the order as per our needs. Palette will change the color of the graph (you can try Set1 and Set3 as well)

Python3




# illustrating box plot with order
fx = sns.boxplot(x='day', y='total_bill', data=tips, order=[
                 'Sun', 'Sat', 'Fri', 'Thur'], hue='sex', palette='Set2')


Output:

  • Both graphs together:

Below is the complete program based on the above approach:

Example 1

Python3




# import required modules
import pandas as pd
import numpy as np
import matplotlib.pyplot as plt
import seaborn as sns
 
 
# load dataset
tips= sns.load_dataset('tips')
 
 
# display top most rows
tips.head()                     
 
 
# illustrating box plot with order
sns.boxplot(x='day', y='total_bill', data=tips, order=[
                 'Sun', 'Sat', 'Fri', 'Thur'], hue='sex', palette='Set2')


Output:

Example 2

Now, Plotting the boxplot using different features. Observe the order on the x-axis in the figure given below:  

Python3




# import required modules
import pandas as pd
import numpy as np
import matplotlib.pyplot as plt
import seaborn as sns
 
 
# load dataset
tips = sns.load_dataset('tips')
 
 
# display top most rows
tips.head()
 
 
# plotting the boxplot taking time on x-axis
fx = sns.boxplot(x="time", y="total_bill", hue="smoker",
                 data=tips, palette="Set1")
 
# illustrating box plot with order
ax = sns.boxplot(x="time", y="total_bill", hue="smoker", order=['Dinner', 'Lunch'],
                 data=tips, palette="Set1")


Output:

  • Before-

  • After-

Here we have manually ordered the boxplot.



Last Updated : 04 Oct, 2021
Like Article
Save Article
Previous
Next
Share your thoughts in the comments
Similar Reads