📖 Scenario: You are creating a simple heatmap to visualize temperature data across a small grid. To make the heatmap easier to understand, you want to add a colorbar that shows the temperature scale.
🎯 Goal: Build a heatmap using matplotlib and add a colorbar positioned on the right side of the heatmap.
📋 What You'll Learn
Create a 2D list called temperature_data with exact values
Create a matplotlib figure and axis
Plot the heatmap using imshow with the temperature_data
Add a colorbar positioned on the right side of the heatmap
Print the colorbar's orientation to confirm it is vertical
💡 Why This Matters
🌍 Real World
Colorbars help people understand the meaning of colors in heatmaps, such as temperature or intensity in scientific data.
💼 Career
Data scientists and analysts often use colorbars in visualizations to communicate data clearly to others.
Progress0 / 4 steps
1
Create the temperature data
Create a 2D list called temperature_data with these exact values: [[22, 24, 19], [20, 23, 21], [18, 22, 20]]
Matplotlib
Hint
Use square brackets to create a list of lists. Each inner list is a row of temperatures.
2
Set up the matplotlib figure and axis
Import matplotlib.pyplot as plt and create a figure and axis using plt.subplots(). Store the axis in a variable called ax.
Matplotlib
Hint
Use import matplotlib.pyplot as plt and then fig, ax = plt.subplots().
3
Plot the heatmap and add a colorbar on the right
Use ax.imshow(temperature_data) to plot the heatmap and save the result in a variable called heatmap. Then add a colorbar on the right side of the heatmap using fig.colorbar(heatmap, ax=ax, orientation='vertical') and save it in a variable called cbar.
Matplotlib
Hint
Use ax.imshow() to plot and fig.colorbar() with orientation='vertical' to add the colorbar on the right.
4
Print the colorbar orientation
Print the orientation of the colorbar using print(cbar.orientation) to confirm it is vertical.
Matplotlib
Hint
Use print(cbar.orientation) to see the orientation of the colorbar.
Practice
(1/5)
1. What does the orientation parameter control when adding a colorbar in matplotlib?
easy
A. The color scheme used in the colorbar
B. The data range shown in the colorbar
C. The size of the colorbar
D. The direction of the colorbar, either vertical or horizontal
Solution
Step 1: Understand the role of orientation
The orientation parameter specifies if the colorbar is drawn vertically or horizontally.
Step 2: Differentiate from other parameters
Other parameters like fraction or pad control size and spacing, not direction.
Final Answer:
The direction of the colorbar, either vertical or horizontal -> Option D
Quick Check:
orientation = direction [OK]
Hint: Orientation sets vertical or horizontal colorbar [OK]
Common Mistakes:
Confusing orientation with color scheme
Thinking orientation controls size
Mixing orientation with data range
2. Which of the following is the correct syntax to add a horizontal colorbar to a plot using matplotlib's colorbar() function?
easy
A. plt.colorbar(orientation='horizontal')
B. plt.colorbar(orient='horizontal')
C. plt.colorbar(direction='horizontal')
D. plt.colorbar(position='horizontal')
Solution
Step 1: Recall the correct parameter name
The correct parameter to set colorbar direction is orientation.
Step 2: Check the syntax
Only plt.colorbar(orientation='horizontal') uses the correct parameter and value.
Final Answer:
plt.colorbar(orientation='horizontal') -> Option A
Hint: Use 'orientation' exactly for direction [OK]
Common Mistakes:
Using 'orient' instead of 'orientation'
Using 'direction' or 'position' which are invalid
Misspelling parameter names
3. What will be the position of the colorbar in this code snippet?
import matplotlib.pyplot as plt
import numpy as np
img = np.random.rand(5,5)
plt.imshow(img)
plt.colorbar(location='top')
plt.show()
medium
A. Colorbar appears on the right side of the plot
B. Colorbar appears on the bottom of the plot
C. Code will raise an error due to invalid parameter
D. Colorbar appears on the top of the plot
Solution
Step 1: Understand the location parameter
The location parameter does not exist in matplotlib's colorbar() function; the correct parameter to control position is orientation or using the ax parameter with axes placement.
Step 2: Check the value 'top'
Using location='top' will raise an error because location is not a valid parameter.
Final Answer:
Code will raise an error due to invalid parameter -> Option C
Quick Check:
Invalid parameter 'location' causes error [OK]
Hint: No 'location' parameter in plt.colorbar() [OK]
Common Mistakes:
Assuming 'location' is a valid parameter
Confusing 'location' with 'orientation'
Expecting colorbar to appear on top using 'location'
4. Identify the error in this code that tries to place a colorbar on the left side:
import matplotlib.pyplot as plt
import numpy as np
img = np.random.rand(10,10)
plt.imshow(img)
plt.colorbar(loc='left')
plt.show()
medium
A. No error; code runs correctly
B. The value 'left' is invalid for colorbar placement
C. The parameter name should be 'location', not 'loc'
D. The colorbar cannot be placed on the left side
Solution
Step 1: Check parameter name for colorbar position
The correct parameter to specify position is location in recent matplotlib versions, but loc is accepted as an alias in some versions.
Step 2: Validate the value 'left'
'left' is a valid location value, and loc='left' works in matplotlib 3.4+.
Final Answer:
No error; code runs correctly -> Option A
Quick Check:
loc='left' is accepted in recent matplotlib versions [OK]
Hint: loc='left' works in recent matplotlib versions [OK]
Common Mistakes:
Using 'loc' instead of 'location' thinking it's invalid
Thinking 'left' is invalid location
Assuming colorbar can't be on left
5. You want to add a vertical colorbar on the right side of a plot but make it thinner and closer to the plot. Which parameters should you adjust in plt.colorbar() to achieve this?
hard
A. Set location='left' and increase fraction
B. Set orientation='vertical', fraction smaller, and pad smaller
C. Set orientation='horizontal' and increase pad
D. Set location='bottom' and decrease fraction
Solution
Step 1: Set vertical orientation and right location
Vertical colorbar is default orientation; right side is default location, so no change needed.
Step 2: Adjust fraction and pad to control size and spacing
Smaller fraction makes colorbar thinner; smaller pad moves it closer to the plot.
Final Answer:
Set orientation='vertical', fraction smaller, and pad smaller -> Option B
Quick Check:
fraction controls size, pad controls distance [OK]
Hint: Use fraction and pad to size and move colorbar [OK]
Common Mistakes:
Changing location to left or bottom incorrectly
Using horizontal orientation for vertical bar
Increasing pad to move colorbar closer
Recommended
Ready to prove it?
Pass the test and this pattern moves unknownstrongwhile earning +1 Grip toward your certificate.