Error bars show how much the data might vary. They help us see the uncertainty or spread in the data on bar charts.
When you want to show the average sales per month with possible variation.
When comparing test scores of different groups and showing the range of scores.
When displaying survey results with confidence intervals.
When showing measurements with possible errors in experiments.
Syntax
Matplotlib
plt.bar(x, height, yerr=error, capsize=5)
# x: positions of bars# height: values for bars# yerr: error values for bars# capsize: length of error bar caps
yerr can be a single value, list, or array showing error size.
capsize controls the horizontal line length at the top of error bars.
Examples
Basic bar chart with different error sizes for each bar.
Matplotlib
plt.bar([1, 2, 3], [10, 15, 7], yerr=[1, 2, 1])
Bar chart with same error size for all bars and longer caps.
This code creates a bar chart with 4 bars. Each bar has an error bar showing the possible variation in scores.
Matplotlib
import matplotlib.pyplot as plt
import numpy as np
# Data
x = np.arange(4)
values = [20, 35, 30, 35]
errors = [2, 3, 4, 1]
# Create bar chart with error bars
plt.bar(x, values, yerr=errors, capsize=5, color='skyblue')
# Add labels and title
plt.xlabel('Groups')
plt.ylabel('Scores')
plt.title('Bar Chart with Error Bars')
# Show plot
plt.show()
OutputSuccess
Important Notes
Error bars help viewers understand the reliability of the data.
Make sure error values are positive numbers.
You can customize error bars with colors and line styles using extra parameters.
Summary
Error bars show uncertainty or variation on bar charts.
Use yerr to add error bars in plt.bar().
Customize error bars with capsize and other style options.
Practice
(1/5)
1. What does the yerr parameter do when creating a bar chart in matplotlib?
easy
A. It changes the color of the bars.
B. It sets the width of the bars.
C. It adds vertical error bars to each bar showing uncertainty.
D. It adds labels to the bars.
Solution
Step 1: Understand the role of yerr
The yerr parameter in matplotlib bar charts specifies the size of vertical error bars to show uncertainty or variation.
Step 2: Compare with other options
Other options like color, width, or labels are controlled by different parameters, not yerr.
Final Answer:
It adds vertical error bars to each bar showing uncertainty. -> Option C
Quick Check:
yerr = vertical error bars [OK]
Hint: Remember: yerr means vertical error bars [OK]
Common Mistakes:
Confusing yerr with bar width
Thinking yerr changes bar color
Assuming yerr adds labels
2. Which of the following is the correct syntax to add error bars with size 0.2 to a bar chart using matplotlib?
easy
A. plt.bar(x, height, err=0.2)
B. plt.bar(x, height, error=0.2)
C. plt.bar(x, height, yerror=0.2)
D. plt.bar(x, height, yerr=0.2)
Solution
Step 1: Recall the correct parameter name
The correct parameter to add vertical error bars in matplotlib bar charts is yerr.
Step 2: Check the syntax
The syntax plt.bar(x, height, yerr=0.2) correctly adds error bars of size 0.2.
Final Answer:
plt.bar(x, height, yerr=0.2) -> Option D
Quick Check:
Correct parameter is yerr [OK]
Hint: Use exact parameter name yerr for error bars [OK]
Common Mistakes:
Using wrong parameter names like error or err
Misspelling yerr as yerror
Forgetting to assign a value to yerr
3. What will be the output of this code snippet?
import matplotlib.pyplot as plt
x = [1, 2, 3]
heights = [3, 5, 2]
errors = [0.5, 0.2, 0.3]
plt.bar(x, heights, yerr=errors, capsize=5)
plt.show()
medium
A. A syntax error because capsize is not a valid parameter.
B. A bar chart with bars at x=1,2,3 with heights 3,5,2 and vertical error bars with caps of length 5.
C. A bar chart with bars but no error bars visible.
D. A bar chart with horizontal error bars.
Solution
Step 1: Understand the code
The code creates bars at positions 1, 2, 3 with heights 3, 5, 2 respectively and adds vertical error bars sized by the list errors.
Step 2: Role of capsize
The capsize=5 parameter adds horizontal caps at the ends of error bars, making them visible and 5 points long.
Final Answer:
A bar chart with bars at x=1,2,3 with heights 3,5,2 and vertical error bars with caps of length 5. -> Option B
Quick Check:
yerr + capsize = vertical error bars with caps [OK]
Hint: capsize adds visible ends to error bars [OK]
Common Mistakes:
Thinking capsize disables error bars
Confusing vertical and horizontal error bars
Assuming capsize causes syntax error
4. Identify the error in this code that tries to add error bars to a bar chart:
import matplotlib.pyplot as plt
x = [1, 2, 3]
heights = [4, 6, 5]
errors = [0.3, 0.4, 0.2]
plt.bar(x, heights, yerror=errors)
plt.show()
medium
A. The parameter name should be yerr, not yerror.
B. The errors list length does not match heights length.
C. plt.bar does not support error bars.
D. The x values must be strings, not integers.
Solution
Step 1: Check parameter names
The parameter to add vertical error bars is yerr, not yerror.
Step 2: Validate other parts
The lengths of errors and heights match, and plt.bar supports error bars with yerr.
Final Answer:
The parameter name should be yerr, not yerror. -> Option A
Quick Check:
Correct parameter is yerr, not yerror [OK]
Hint: Use exact parameter yerr, spelling matters [OK]
Common Mistakes:
Using yerror instead of yerr
Ignoring parameter name case sensitivity
Assuming plt.bar can't have error bars
5. You want to create a bar chart with 4 bars and different error sizes for each bar. Which code correctly achieves this with visible error bar caps?
hard
A. plt.bar([1,2,3,4], [5,7,3,4], yerr=[0.2,0.3,0.1,0.4], capsize=3)
B. plt.bar([1,2,3,4], [5,7,3,4], yerr=0.3, capsize=0)
C. plt.bar([1,2,3,4], [5,7,3,4], yerr=[0.2,0.3], capsize=3)
D. plt.bar([1,2,3,4], [5,7,3,4], error=[0.2,0.3,0.1,0.4], capsize=3)
Solution
Step 1: Check error bar sizes match bars
There are 4 bars, so the yerr list must have 4 values. plt.bar([1,2,3,4], [5,7,3,4], yerr=[0.2,0.3,0.1,0.4], capsize=3) has 4 error sizes matching bars.
Step 2: Verify capsize for visible caps
plt.bar([1,2,3,4], [5,7,3,4], yerr=[0.2,0.3,0.1,0.4], capsize=3) uses capsize=3 which makes error bar caps visible. Other options fail: one uses a single yerr value with capsize=0 (no caps), another provides only two error sizes (mismatch), and one uses wrong parameter error.
Final Answer:
plt.bar([1,2,3,4], [5,7,3,4], yerr=[0.2,0.3,0.1,0.4], capsize=3) -> Option A
Quick Check:
yerr list length = bars count + capsize > 0 [OK]
Hint: Match yerr length to bars and set capsize > 0 [OK]
Common Mistakes:
Using single yerr value for multiple bars
Setting capsize to zero hides caps
Using wrong parameter name error instead of yerr
Recommended
Ready to prove it?
Pass the test and this pattern moves unknownstrongwhile earning +1 Grip toward your certificate.