Understand the idea
A box plot summarizes ordered values: the box covers the middle half and the line inside marks the median.
A small example
With Q1=10 and Q3=14, IQR=4. The usual fences are 4 and 20; whiskers end at observed values inside them.
Follow the code
Apply the idea to the supplied table. Read from top to bottom; the final line displays the result.
import matplotlib.pyplot as plt
import seaborn as sns
fig, ax = plt.subplots(figsize=(6, 4))
sns.boxplot(data=df, x="flavour", y="price", ax=ax)
ax.set(title="Candy shop", xlabel="flavour", ylabel="price")
fig.tight_layout()
plt.show()What each part does
sns.boxplot- compact group distributions
IQR- upper quartile minus lower quartile
Your inputs
The editable setup on the right creates df. Run executes the setup and your work from top to bottom.
| candy | flavour | price | rating | shelf |
|---|---|---|---|---|
| Gummy Bear | fruity | 1.2 | 4.1 | A |
| Choco Pop | chocolate | 2.1 | 4.6 | B |
| Mint Bite | mint | 1.5 | 3.8 | A |
| Berry Loop | fruity | 2.8 | 4.4 | B |
| Cocoa Cube | chocolate | 3.4 | 4.9 | A |
| Lemon Drop | fruity | 1.8 | 4 | B |
Your task · Follow
- Using df, call sns.boxplot with flavour on x and price on y.
- Chart: title "Candy shop"; x "flavour"; y "price".
Hint
Whiskers stop at observed values within the fences; flagged points are not automatically errors.
Reveal solution
One way to do it. Keep any supplied setup in the editor and use this in the Your work section.
import matplotlib.pyplot as plt
import seaborn as sns
fig, ax = plt.subplots(figsize=(6, 4))
sns.boxplot(data=df, x="flavour", y="price", ax=ax)
ax.set(title="Candy shop", xlabel="flavour", ylabel="price")
fig.tight_layout()
plt.show()