📖 Scenario: You work in a small bakery and want to show which types of bread sell the most. You have the sales numbers for different bread types.
🎯 Goal: Create a pie chart using plt.pie to show the sales distribution of bread types.
📋 What You'll Learn
Create a dictionary called bread_sales with exact keys and values
Create a list called labels from the dictionary keys
Create a list called sizes from the dictionary values
Use plt.pie with sizes and labels to make the pie chart
Display the pie chart with plt.show()
💡 Why This Matters
🌍 Real World
Pie charts help businesses quickly see how parts contribute to a whole, like sales of different products.
💼 Career
Data analysts and scientists often use pie charts to present categorical data visually to stakeholders.
Progress0 / 4 steps
1
Create the bread sales data
Create a dictionary called bread_sales with these exact entries: 'White': 40, 'Wheat': 25, 'Rye': 20, 'Sourdough': 15.
Matplotlib
Hint
Use curly braces {} to create a dictionary with the given keys and values.
2
Prepare labels and sizes lists
Create a list called labels from the keys of bread_sales and a list called sizes from the values of bread_sales.
Matplotlib
Hint
Use list() with bread_sales.keys() and bread_sales.values() to get the lists.
3
Create the pie chart
Import matplotlib.pyplot as plt and use plt.pie with sizes and labels to create the pie chart.
Matplotlib
Hint
Use import matplotlib.pyplot as plt and then plt.pie() with the right arguments.
4
Show the pie chart
Use plt.show() to display the pie chart.
Matplotlib
Hint
Call plt.show() to open the pie chart window.
Practice
(1/5)
1. What does the plt.pie() function in matplotlib do?
easy
A. It creates a line chart to show trends over time.
B. It creates a pie chart to show parts of a whole.
C. It creates a bar chart to compare categories.
D. It creates a scatter plot to show data points.
Solution
Step 1: Understand the purpose of plt.pie()
The function plt.pie() is designed to create pie charts, which visually represent parts of a whole as slices of a circle.
Step 2: Compare with other chart types
Line charts, bar charts, and scatter plots are created with different functions like plt.plot(), plt.bar(), and plt.scatter(), not plt.pie().
Final Answer:
It creates a pie chart to show parts of a whole. -> Option B
Quick Check:
Pie chart = plt.pie() [OK]
Hint: Pie chart = parts of whole, use plt.pie() [OK]
Common Mistakes:
Confusing pie chart with bar or line charts
Thinking plt.pie() creates scatter plots
Mixing up chart functions in matplotlib
2. Which of the following is the correct syntax to create a basic pie chart with labels using matplotlib?
easy
A. plt.pie(sizes, labels=labels)
B. plt.pie(labels, sizes=sizes)
C. plt.pie(labels=sizes, sizes=labels)
D. plt.pie(sizes, labels)
Solution
Step 1: Check the order of arguments in plt.pie()
The first argument to plt.pie() is the sizes (values) of slices, and labels are passed as a keyword argument labels=.
Step 2: Validate correct keyword usage
plt.pie(sizes, labels=labels) correctly uses plt.pie(sizes, labels=labels). Options B and C misuse argument order or keywords, and D misses the keyword for labels.
Final Answer:
plt.pie(sizes, labels=labels) -> Option A
Quick Check:
Sizes first, labels keyword [OK]
Hint: Sizes first, labels with labels= keyword [OK]
D. The sizes argument should be the first positional argument, not labels.
Solution
Step 1: Check argument order in plt.pie()
The first argument must be sizes (numbers), but the code passes labels first, which is incorrect.
Step 2: Correct argument usage
Sizes should be the first positional argument, and labels should be passed with labels=labels keyword.
Final Answer:
The sizes argument should be the first positional argument, not labels. -> Option D
Quick Check:
Sizes first, labels keyword [OK]
Hint: Sizes first, labels with labels= keyword [OK]
Common Mistakes:
Passing labels as first argument
Forgetting labels= keyword
Confusing argument order
5. You want to create a pie chart showing sales distribution for 4 products with sizes [15, 25, 35, 25] and labels ['P1', 'P2', 'P3', 'P4']. You also want to highlight the largest slice by "exploding" it out. Which code correctly does this?
hard
A. plt.pie([15,25,35,25], labels=['P1','P2','P3','P4'], explode=[0,0,0,0.1], autopct='%1.1f%%')
B. plt.pie([15,25,35,25], labels=['P1','P2','P3','P4'], explode=[0.1,0,0,0], autopct='%1.1f%%')
C. plt.pie([15,25,35,25], labels=['P1','P2','P3','P4'], explode=[0,0,0.1,0], autopct='%1.1f%%')
D. plt.pie([15,25,35,25], labels=['P1','P2','P3','P4'], explode=[0,0.1,0,0], autopct='%1.1f%%')
Solution
Step 1: Identify the largest slice
The sizes are [15, 25, 35, 25]. The largest value is 35 at index 2 (third element).
Step 2: Set explode to highlight largest slice
The explode list should have 0.1 at index 2 and 0 elsewhere: [0, 0, 0.1, 0]. plt.pie([15,25,35,25], labels=['P1','P2','P3','P4'], explode=[0,0,0.1,0], autopct='%1.1f%%') matches this.
Final Answer:
plt.pie([15,25,35,25], labels=['P1','P2','P3','P4'], explode=[0,0,0.1,0], autopct='%1.1f%%') -> Option C
Quick Check:
Explode largest slice index 2 [OK]
Hint: Explode list: 0.1 at largest slice index [OK]
Common Mistakes:
Exploding wrong slice index
Using explode without matching list length
Forgetting autopct for percentages
Recommended
Ready to prove it?
Pass the test and this pattern moves unknownstrongwhile earning +1 Grip toward your certificate.