📖 Scenario: Imagine you are creating a simple chart to show sales data for different products. You want to make sure anyone looking at your chart can easily understand which color means which product and what the color intensity means for sales volume.
🎯 Goal: You will create a bar chart with colors representing sales amounts. You will add a legend to explain the colors for products and a colorbar to explain the sales volume intensity. This will help readers understand the chart quickly and clearly.
📋 What You'll Learn
Create a dictionary with product names and their sales values
Create a list of colors for each product
Plot a bar chart with product names on the x-axis and sales values on the y-axis
Add a legend that shows which color belongs to which product
Add a colorbar that shows the sales volume intensity scale
💡 Why This Matters
🌍 Real World
Legends and colorbars are used in reports and dashboards to help people understand what different colors and intensities mean in charts.
💼 Career
Data analysts and scientists use legends and colorbars to make their visualizations clear and easy to read for decision makers.
Progress0 / 4 steps
1
Create the sales data dictionary
Create a dictionary called sales_data with these exact entries: 'Apples': 50, 'Bananas': 30, 'Cherries': 70, 'Dates': 40.
Matplotlib
Hint
Use curly braces {} to create a dictionary with keys as product names and values as sales numbers.
2
Create the colors list for products
Create a list called colors with these exact color names in order: 'red', 'yellow', 'pink', 'brown'.
Matplotlib
Hint
Use square brackets [] to create a list of color names matching the products order.
3
Plot the bar chart with legend and colorbar
Use matplotlib.pyplot to plot a bar chart with product names on the x-axis and sales values on the y-axis. Use the colors list for the bar colors. Add a legend that shows which color belongs to which product using plt.legend(). Also, add a colorbar that shows sales volume intensity using matplotlib.cm.ScalarMappable and plt.colorbar().
Matplotlib
Hint
Use ax.bar() to plot bars with colors. Use ax.legend() to add the legend. Use matplotlib.cm.ScalarMappable and plt.colorbar() to add the colorbar.
4
Display the plot
Use plt.show() to display the bar chart with legend and colorbar.
Matplotlib
Hint
Use plt.show() to display the chart window with legend and colorbar.
Practice
(1/5)
1. Why is it important to include a legend in a matplotlib plot?
easy
A. It explains what different colors or symbols represent in the plot.
B. It changes the plot's background color.
C. It adds grid lines to the plot.
D. It saves the plot as an image file.
Solution
Step 1: Understand the role of a legend
A legend helps explain what different colors or symbols in a plot mean, making the plot easier to read.
Step 2: Compare options with legend purpose
Options A, B, and C describe other plot features unrelated to legends.
Final Answer:
It explains what different colors or symbols represent in the plot. -> Option A
Quick Check:
Legend explains symbols/colors = D [OK]
Hint: Legends explain symbols/colors meaning in plots [OK]
Common Mistakes:
Thinking legends change plot colors
Confusing legends with grid lines
Assuming legends save files
2. Which of the following is the correct way to add a legend to a matplotlib plot?
easy
A. plt.colorbar()
B. plt.grid()
C. plt.title()
D. plt.legend()
Solution
Step 1: Recall matplotlib functions for legends
The function plt.legend() adds a legend to the plot.
Step 2: Identify other functions' purposes
plt.colorbar() adds a colorbar, plt.title() adds a title, and plt.grid() adds grid lines.
Final Answer:
plt.legend() -> Option D
Quick Check:
Legend function = plt.legend() [OK]
Hint: Use plt.legend() to add legends in matplotlib [OK]
Common Mistakes:
Using plt.colorbar() to add legends
Confusing plt.title() with legend function
Trying plt.grid() for legends
3. What will the following code display?
import matplotlib.pyplot as plt
import numpy as np
x = np.linspace(0, 10, 100)
y = np.sin(x)
plt.scatter(x, y, c=y, cmap='viridis')
plt.colorbar()
plt.show()
medium
A. A scatter plot with points colored by their y-value and a colorbar explaining the colors.
B. A line plot of y vs x with a legend showing labels.
C. A scatter plot with all points in the same color and no colorbar.
D. An error because colorbar cannot be used with scatter.
Solution
Step 1: Analyze the scatter plot code
The scatter plot colors points by their y-values using the 'viridis' colormap.
Step 2: Understand the colorbar function
plt.colorbar() adds a colorbar that explains the color scale used for the points.
Final Answer:
A scatter plot with points colored by their y-value and a colorbar explaining the colors. -> Option A
Quick Check:
Scatter with colorbar explains colors = A [OK]
Hint: Colorbar explains colors in scatter plots [OK]
Common Mistakes:
Thinking colorbar adds legend labels
Assuming scatter points all same color
Believing colorbar causes error with scatter
4. You created a plot with multiple lines but forgot to add a legend. Which of the following fixes the issue?
medium
A. Call plt.colorbar() without labels.
B. Add labels to each plot line and call plt.legend() after plotting.
C. Use plt.title() to describe the lines.
D. Change the plot background color.
Solution
Step 1: Identify how to add legends for multiple lines
Each line needs a label, and calling plt.legend() shows these labels as a legend.
Step 2: Evaluate other options
plt.colorbar() is for color scales, plt.title() adds a title, and changing background color does not add legends.
Final Answer:
Add labels to each plot line and call plt.legend() after plotting. -> Option B
Quick Check:
Labels + plt.legend() = legend shown [OK]
Hint: Add labels and call plt.legend() to fix missing legend [OK]
Common Mistakes:
Using plt.colorbar() to add legend
Relying on plot title for legend info
Changing background color expecting legend
5. You have a heatmap showing temperature data with colors representing temperature values. How do you best help readers understand the color meaning?
hard
A. Add grid lines to separate cells clearly.
B. Add a legend with labels for each temperature value.
C. Add a colorbar to the heatmap to explain the color scale.
D. Add a plot title describing the data.
Solution
Step 1: Understand color mapping in heatmaps
Heatmaps use colors to represent data values, so a colorbar explains what each color means.
Step 2: Compare other options
A legend with labels for each value is impractical for continuous data; grid lines and titles help layout but don't explain colors.
Final Answer:
Add a colorbar to the heatmap to explain the color scale. -> Option C
Quick Check:
Colorbar explains heatmap colors = C [OK]
Hint: Use colorbar for continuous color scales like heatmaps [OK]
Common Mistakes:
Using legend for continuous color scales
Thinking grid lines explain colors
Relying on title to explain color meaning
Recommended
Ready to prove it?
Pass the test and this pattern moves unknownstrongwhile earning +1 Grip toward your certificate.