📖 Scenario: You work as a data analyst for a small bakery. You have collected data on the number of cookies sold each day for a week. You want to understand how the sales are distributed to help plan baking quantities better.
🎯 Goal: Build a simple program that creates a histogram of cookie sales data to visualize the frequency of sales numbers.
📋 What You'll Learn
Create a list of daily cookie sales numbers
Set a variable for the number of bins in the histogram
Use matplotlib to create a histogram of the sales data
Display the histogram plot
💡 Why This Matters
🌍 Real World
Histograms help businesses understand how often certain values occur, like daily sales, so they can make better decisions.
💼 Career
Data analysts and scientists use histograms to explore data distributions and communicate insights visually.
Progress0 / 4 steps
1
Create the sales data list
Create a list called cookie_sales with these exact daily sales numbers: 12, 15, 7, 10, 20, 13, 9.
Data Analysis Python
Hint
Use square brackets [] to create a list and separate numbers with commas.
2
Set the number of bins
Create a variable called bins and set it to 5 to define the number of bins for the histogram.
Data Analysis Python
Hint
Just assign the number 5 to the variable bins.
3
Create the histogram plot
Import matplotlib.pyplot as plt. Then use plt.hist() with cookie_sales and bins to create the histogram.
Data Analysis Python
Hint
Use import matplotlib.pyplot as plt to import. Then call plt.hist() with the list and bins.
4
Display the histogram
Use plt.show() to display the histogram plot.
Data Analysis Python
Hint
Call plt.show() to open the histogram window.
Practice
(1/5)
1. What does a histogram primarily show when analyzing data?
easy
A. The average value of the dataset
B. The exact values of each data point
C. The relationship between two variables
D. The frequency distribution of data values grouped into bins
Solution
Step 1: Understand histogram purpose
A histogram groups data into bins and counts how many data points fall into each bin.
Step 2: Identify what histogram shows
This grouping shows the frequency distribution, not exact values or relationships.
Final Answer:
The frequency distribution of data values grouped into bins -> Option D
Quick Check:
Histogram = frequency distribution [OK]
Hint: Histograms show counts per bin, not individual values [OK]
Common Mistakes:
Confusing histogram with scatter plot
Thinking histogram shows exact data points
Assuming histogram shows averages
2. Which of the following is the correct way to create a histogram using matplotlib in Python?
easy
A. plt.plot(data)
B. plt.hist(data)
C. plt.bar(data)
D. plt.scatter(data)
Solution
Step 1: Recall matplotlib histogram function
Matplotlib uses plt.hist() to create histograms from data arrays.
Step 2: Differentiate from other plot types
plt.plot() is for line plots, plt.bar() for bar charts, plt.scatter() for scatter plots.
Final Answer:
plt.hist(data) -> Option B
Quick Check:
Histogram function = plt.hist() [OK]
Hint: Use plt.hist() to plot histograms in matplotlib [OK]
Common Mistakes:
Using plt.plot() instead of plt.hist()
Confusing bar chart with histogram
Trying plt.scatter() for histograms
3. What will be the output of this code snippet?
import matplotlib.pyplot as plt
import numpy as np
data = np.array([1, 2, 2, 3, 3, 3, 4, 4, 4, 4])
plt.hist(data, bins=4)
plt.show()
medium
A. A histogram with 4 bars showing counts: 1, 2, 3, 4
B. A histogram with 4 bars showing counts: 1, 2, 3, 4 but bars are unevenly spaced
C. A histogram with 4 bars showing counts: 1, 2, 3, 4 but bars represent ranges, not exact values
D. An error because bins must be equal to the number of unique values
Solution
Step 1: Understand bins in histogram
Bins divide the data range into intervals. Here, bins=4 divides data from 1 to 4 into 4 intervals.
Step 2: Analyze counts per bin
Counts per bin correspond to how many data points fall into each interval, not just counts of exact values.
Final Answer:
A histogram with 4 bars showing counts: 1, 2, 3, 4 but bars represent ranges, not exact values -> Option C
Quick Check:
Bins = ranges, counts per range [OK]
Hint: Bins group ranges, not just unique values [OK]
Common Mistakes:
Assuming bins equal unique values
Thinking bars show exact counts per value
Expecting error due to bins count
4. Identify the error in this code that tries to plot a histogram:
A. bins parameter should be an integer, not a string
B. plt.hist() does not accept lists as data
C. plt.show() is missing
D. values list must be converted to numpy array first
Solution
Step 1: Check bins parameter type
bins must be an integer or sequence, not a string like 'five'.
Step 2: Verify other parts
plt.hist accepts lists, plt.show() is present, numpy array conversion is optional.
Final Answer:
bins parameter should be an integer, not a string -> Option A
Quick Check:
bins must be int or sequence [OK]
Hint: bins must be int or list, not string [OK]
Common Mistakes:
Passing bins as string causes error
Thinking plt.hist needs numpy array
Forgetting plt.show()
5. You have a dataset with ages: [22, 25, 29, 35, 40, 42, 45, 50, 55, 60]. You want to create a histogram with bins representing decades (20-29, 30-39, 40-49, 50-59, 60-69). Which bins parameter should you use in plt.hist() to get this grouping?
hard
A. [20, 30, 40, 50, 60, 70]
B. [20, 29, 39, 49, 59, 69]
C. [20, 25, 30, 35, 40, 45, 50, 55, 60, 65]
D. [21, 31, 41, 51, 61, 71]
Solution
Step 1: Define bin edges for decades
Bins edges must cover ranges: 20-29, 30-39, etc. Using edges [20, 30, 40, 50, 60, 70] creates intervals [20-30), [30-40), etc.
Step 2: Confirm bins cover all ages
These edges include all ages from 22 to 60 correctly in decade groups.
Final Answer:
[20, 30, 40, 50, 60, 70] -> Option A
Quick Check:
Bins edges = decade boundaries [OK]
Hint: Bins edges define intervals; use decade boundaries [OK]
Common Mistakes:
Using bin edges that exclude upper bounds
Using single values instead of edges
Misaligning bins with decade ranges
Recommended
Ready to prove it?
Pass the test and this pattern moves unknownstrongwhile earning +1 Grip toward your certificate.