📖 Scenario: Imagine you are a data analyst working with sales data and customer age data. You want to understand how to visualize these two types of data correctly using charts.
🎯 Goal: You will create a bar chart to show sales by product category and a histogram to show the distribution of customer ages. This will help you see the difference between these two chart types.
📋 What You'll Learn
Create a dictionary called sales with product categories and their sales numbers.
Create a list called customer_ages with ages of customers.
Set a variable bins to 5 for the histogram.
Use plt.bar() to create a bar chart for sales data.
Use plt.hist() to create a histogram for customer ages.
Display both charts with plt.show().
💡 Why This Matters
🌍 Real World
Bar charts are used to compare categories like product sales, while histograms help understand the distribution of continuous data like customer ages.
💼 Career
Data analysts and scientists use these charts to summarize and communicate data insights clearly to teams and stakeholders.
Progress0 / 4 steps
1
Create sales data and customer ages
Create a dictionary called sales with these exact entries: 'Books': 120, 'Electronics': 90, 'Clothing': 150. Also create a list called customer_ages with these exact values: 22, 25, 47, 35, 46, 52, 23, 43, 36, 27.
Matplotlib
Hint
Use curly braces {} to create the dictionary sales with keys and values. Use square brackets [] to create the list customer_ages.
2
Set number of bins for histogram
Create a variable called bins and set it to 5 to define the number of bins for the histogram.
Matplotlib
Hint
Just write bins = 5 to set the number of bins.
3
Create bar chart and histogram
Import matplotlib.pyplot as plt. Use plt.bar() with sales.keys() and sales.values() to create a bar chart. Then use plt.hist() with customer_ages and bins to create a histogram. Use plt.figure() to create separate figures for each chart.
Matplotlib
Hint
Use plt.figure() before each chart to separate them. Use plt.bar() for the sales dictionary and plt.hist() for the customer_ages list.
4
Display the charts
Use plt.show() to display both the bar chart and the histogram.
Matplotlib
Hint
Just add plt.show() at the end to display the charts.
Practice
(1/5)
1. Which of the following best describes a histogram in matplotlib?
easy
A. It groups continuous data into ranges and shows frequency with touching bars.
B. It compares values across distinct categories with spaced bars.
C. It shows data points connected by lines.
D. It displays data as pie slices representing proportions.
Solution
Step 1: Understand histogram purpose
A histogram groups continuous data into intervals (bins) and shows how many data points fall into each bin.
Step 2: Identify visual style
Histograms have bars that touch each other to indicate continuous ranges.
Final Answer:
It groups continuous data into ranges and shows frequency with touching bars. -> Option A
Quick Check:
Histogram = continuous data + touching bars [OK]
Hint: Histograms group continuous data with touching bars [OK]
Common Mistakes:
Confusing histograms with bar charts
Thinking bars are spaced in histograms
Assuming histograms show categories
2. Which matplotlib function is used to create a bar chart?
easy
A. plt.hist()
B. plt.bar()
C. plt.plot()
D. plt.scatter()
Solution
Step 1: Recall function for bar charts
Matplotlib uses plt.bar() to create bar charts that compare categories.
Step 2: Differentiate from histogram function
plt.hist() is for histograms, not bar charts.
Final Answer:
plt.bar() -> Option B
Quick Check:
Bar chart function = plt.bar() [OK]
Hint: Bar charts use plt.bar(), histograms use plt.hist() [OK]
Common Mistakes:
Using plt.hist() for bar charts
Confusing plt.plot() with bar charts
Trying plt.scatter() for bar charts
3. What will be the visual difference between these two plots?
4. Identify the error in this code snippet intended to plot a histogram:
import matplotlib.pyplot as plt
plt.bar([1,2,3,4], [5,6,7,8])
plt.show()
medium
A. No error; this correctly plots a histogram.
B. plt.show() is missing to display the plot.
C. Data lists have different lengths causing an error.
D. plt.bar() is used instead of plt.hist() for histogram plotting.
Solution
Step 1: Check function used for histogram
plt.bar() creates bar charts, not histograms.
Step 2: Correct function for histogram
Use plt.hist() to plot histograms of continuous data.
Final Answer:
plt.bar() is used instead of plt.hist() for histogram plotting. -> Option D
Quick Check:
Histogram needs plt.hist(), not plt.bar() [OK]
Hint: Use plt.hist() for histograms, not plt.bar() [OK]
Common Mistakes:
Using plt.bar() to plot histograms
Forgetting plt.show() to display plots
Mismatched data lengths (not in this case)
5. You have a dataset of exam scores (0-100) and student majors (Math, History, Science). You want to show the distribution of scores and compare average scores by major. Which matplotlib plots should you use?
hard
A. Use two histograms: one for scores and one for majors.
B. Use a bar chart for scores distribution and a histogram for average scores by major.
C. Use a histogram for scores distribution and a bar chart for average scores by major.
D. Use two bar charts: one for scores and one for majors.
Solution
Step 1: Choose plot for continuous data (scores)
Scores are continuous; use a histogram to show their distribution.
Step 2: Choose plot for categorical comparison (majors)
Majors are categories; use a bar chart to compare average scores by major.
Final Answer:
Use a histogram for scores distribution and a bar chart for average scores by major. -> Option C
Quick Check:
Continuous data = histogram, categories = bar chart [OK]
Hint: Histogram for continuous, bar chart for categories [OK]
Common Mistakes:
Using bar chart for continuous data distribution
Using histogram for categorical averages
Mixing plot types incorrectly
Recommended
Ready to prove it?
Pass the test and this pattern moves unknownstrongwhile earning +1 Grip toward your certificate.