Skip to content

Box Plots and Whiskers

Box plot recap

Box plots show:

  • Median (middle line)
  • Q1 and Q3 (box)
  • Spread (IQR)
  • Outliers (points)

They are excellent for comparing a numeric variable across categories.

diagram From sorted values to a box plot mermaid
Quartiles split the sorted data into four equal chunks; the box, whiskers, and outlier dots are drawn from those cut points.

Seaborn boxplot

Boxplot
import seaborn as sns
import matplotlib.pyplot as plt
 
tips = sns.load_dataset("tips")
 
plt.figure(figsize=(7, 4))
sns.boxplot(data=tips, x="day", y="total_bill")
plt.title("Total bill by day")
plt.xlabel("Day")
plt.ylabel("Total bill")
plt.tight_layout()
plt.show()
Boxplot
import seaborn as sns
import matplotlib.pyplot as plt
 
tips = sns.load_dataset("tips")
 
plt.figure(figsize=(7, 4))
sns.boxplot(data=tips, x="day", y="total_bill")
plt.title("Total bill by day")
plt.xlabel("Day")
plt.ylabel("Total bill")
plt.tight_layout()
plt.show()

Add hue for a second grouping

Boxplot with hue
import seaborn as sns
import matplotlib.pyplot as plt
 
tips = sns.load_dataset("tips")
 
plt.figure(figsize=(7, 4))
sns.boxplot(data=tips, x="day", y="total_bill", hue="sex")
plt.title("Total bill by day and sex")
plt.tight_layout()
plt.show()
Boxplot with hue
import seaborn as sns
import matplotlib.pyplot as plt
 
tips = sns.load_dataset("tips")
 
plt.figure(figsize=(7, 4))
sns.boxplot(data=tips, x="day", y="total_bill", hue="sex")
plt.title("Total bill by day and sex")
plt.tight_layout()
plt.show()

Visualize it

A box plot is a compact summary of a distribution’s shape. The box spans Q1 to Q3 (the middle 50% of the data), the line inside is the median, the whiskers reach to the smallest/largest values still in range, and any dots beyond are outliers:

sketch Anatomy of a box plot p5.js
The box is Q1 to Q3, the inner line is the median, whiskers reach the in-range min/max, and dots beyond are outliers.

Tips

  • Treat outliers as signals, not always as errors.
  • If you need to see the raw points, add stripplotstripplot.

Next

Continue to Violin Plots to see the full distribution shape, not just five summary numbers.

🧪 Try It Yourself

Exercise 1 – A Basic Box Plot

Exercise 2 – Split by a Second Category

Exercise 3 – Quartiles With Pandas

If this helped you, consider buying me a coffee ☕

Buy me a coffee

Was this page helpful?

Let us know how we did