Make sure the sizes add up to 100 or represent parts of a whole.
You can add startangle=90 to rotate the chart for better look.
Use plt.axis('equal') to make the pie circle perfectly round.
Summary
A pie chart shows parts of a whole in a circle.
Use plt.pie() with sizes and labels to create it.
Adding autopct shows percentages on slices.
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.