Bird
Raised Fist0
Matplotlibdata~10 mins

Donut chart variation in Matplotlib - Step-by-Step Execution

Choose your learning style10 modes available
Concept Flow - Donut chart variation
Prepare data and labels
↓
Create pie chart with wedges
↓
Create donut hole with wedgeprops
↓
Display donut chart
↓
END
The flow shows preparing data, creating a pie chart, creating the donut hole with wedgeprops, then displaying the chart.
Execution Sample
Matplotlib
import matplotlib.pyplot as plt
sizes = [30, 20, 25, 25]
labels = ['A', 'B', 'C', 'D']
plt.pie(sizes, labels=labels, wedgeprops=dict(width=0.4))
plt.show()
This code creates a donut chart by setting wedge width less than 1 to create a hole in the pie.
Execution Table
StepActionData/ParameterResult/Output
1Define sizes[30, 20, 25, 25]Data ready for chart
2Define labels['A', 'B', 'C', 'D']Labels ready for chart
3Call plt.piesizes and labels, wedge width=0.4Pie chart wedges created with hole
4Call plt.showNoneDonut chart displayed on screen
5EndNoneExecution stops after showing chart
💡 Chart displayed and program ends
Variable Tracker
VariableStartAfter Step 1After Step 2After Step 3Final
sizesundefined[30, 20, 25, 25][30, 20, 25, 25][30, 20, 25, 25][30, 20, 25, 25]
labelsundefinedundefined['A', 'B', 'C', 'D']['A', 'B', 'C', 'D']['A', 'B', 'C', 'D']
Key Moments - 2 Insights
Why does setting wedgeprops width less than 1 create a donut shape?
Because wedgeprops width controls the thickness of pie slices. Setting it to 0.4 leaves a hole in the center, as shown in execution_table step 3.
What happens if we don't call plt.show()?
The chart will not display on screen. Execution_table step 4 shows plt.show triggers the display.
Visual Quiz - 3 Questions
Test your understanding
Look at the execution_table, what is the value of 'sizes' after step 2?
Aundefined
B['A', 'B', 'C', 'D']
C[30, 20, 25, 25]
D[25, 25, 30, 20]
💡 Hint
Check variable_tracker row for 'sizes' after Step 2
At which step is the donut hole created in the chart?
AStep 3
BStep 4
CStep 1
DStep 2
💡 Hint
See execution_table step 3 where wedge width is set to 0.4
If wedgeprops width was set to 1, what would happen?
ADonut hole becomes bigger
BChart becomes a full pie with no hole
CChart will not display
DLabels disappear
💡 Hint
Recall wedge width controls slice thickness; 1 means full slices with no hole
Concept Snapshot
Donut chart variation in matplotlib:
- Use plt.pie() with wedgeprops={'width': value}
- width < 1 creates a hole (donut)
- Provide sizes and labels
- Call plt.show() to display
- Adjust width to control hole size
Full Transcript
This visual execution shows how to create a donut chart using matplotlib. First, we prepare the data sizes and labels. Then we call plt.pie with wedgeprops width set to 0.4 to create slices with a hole in the center. Finally, plt.show displays the donut chart. Variables sizes and labels remain unchanged after definition. The key step is setting wedgeprops width less than 1 to get the donut shape. Without plt.show, the chart won't appear. The quiz tests understanding of variable values and the effect of wedge width on the chart shape.

Practice

(1/5)
1.

What is the main difference between a donut chart and a pie chart in matplotlib?

easy
A. A donut chart has a hole in the center, a pie chart does not.
B. A donut chart uses bars, a pie chart uses slices.
C. A donut chart shows data over time, a pie chart shows categories.
D. A donut chart is 3D, a pie chart is 2D.

Solution

  1. Step 1: Understand pie chart basics

    A pie chart divides a circle into slices representing parts of a whole.
  2. Step 2: Identify donut chart feature

    A donut chart is a pie chart with a hole in the center, making it look like a donut.
  3. Final Answer:

    A donut chart has a hole in the center, a pie chart does not. -> Option A
  4. Quick Check:

    Donut chart = pie chart + hole [OK]
Hint: Donut chart = pie chart with center hole [OK]
Common Mistakes:
  • Thinking donut charts use bars
  • Confusing donut charts with 3D charts
  • Believing donut charts show time series
2.

Which matplotlib code snippet correctly creates a donut chart with a hole size controlled by wedgeprops?

import matplotlib.pyplot as plt
sizes = [30, 40, 30]
plt.pie(sizes, wedgeprops=???)
plt.show()
easy
A. wedgeprops={'height': 0.5}
B. wedgeprops={'radius': 0.5}
C. wedgeprops={'width': 0.5}
D. wedgeprops={'size': 0.5}

Solution

  1. Step 1: Recall donut hole control

    The hole size in a donut chart is set by the 'width' key inside wedgeprops.
  2. Step 2: Match correct syntax

    Using wedgeprops={'width': 0.5} creates a hole half the radius size.
  3. Final Answer:

    wedgeprops={'width': 0.5} -> Option C
  4. Quick Check:

    wedgeprops width controls hole size [OK]
Hint: Use wedgeprops={'width': value} for donut hole [OK]
Common Mistakes:
  • Using 'radius' instead of 'width'
  • Using 'height' or 'size' keys incorrectly
  • Omitting wedgeprops entirely
3.

What will be the visual output of this code?

import matplotlib.pyplot as plt
sizes = [10, 20, 30]
plt.pie(sizes, wedgeprops={'width': 0.3})
plt.show()
medium
A. A donut chart with a thin ring shape
B. A pie chart with no hole in the center
C. A donut chart with a very large hole
D. A bar chart instead of a pie chart

Solution

  1. Step 1: Analyze wedgeprops width value

    The width is set to 0.3, meaning the donut hole is 70% of the radius.
  2. Step 2: Visualize the chart shape

    This creates a donut chart with a thin ring shape because the hole is large but not full radius.
  3. Final Answer:

    A donut chart with a thin ring shape -> Option A
  4. Quick Check:

    width=0.3 means thin donut ring [OK]
Hint: Smaller width = thinner donut ring [OK]
Common Mistakes:
  • Thinking width=0.3 means no hole
  • Confusing hole size with radius
  • Expecting a bar chart output
4.

Identify the error in this donut chart code and select the fix:

import matplotlib.pyplot as plt
sizes = [25, 35, 40]
plt.pie(sizes, wedgeprops={'width': '0.5'})
plt.show()
medium
A. Add labels parameter
B. Remove wedgeprops entirely
C. Change 'width' to 'radius'
D. Change '0.5' to 0.5 (string to float)

Solution

  1. Step 1: Check wedgeprops value type

    The width value is given as a string '0.5', but it must be a number (float).
  2. Step 2: Correct the data type

    Changing '0.5' to 0.5 fixes the type error and creates the donut hole properly.
  3. Final Answer:

    Change '0.5' to 0.5 (string to float) -> Option D
  4. Quick Check:

    width must be float, not string [OK]
Hint: Use numbers, not strings, for wedgeprops values [OK]
Common Mistakes:
  • Using string instead of float for width
  • Changing width key incorrectly
  • Ignoring type errors
5.

You want to create a donut chart showing sales distribution with a hole size that leaves 40% thickness for the slices. Which wedgeprops value should you use?

hard
A. wedgeprops={'width': 0.4}
B. wedgeprops={'width': 0.6}
C. wedgeprops={'width': 0.2}
D. wedgeprops={'width': 1.0}

Solution

  1. Step 1: Understand width meaning

    The 'width' value is the thickness of the slices as a fraction of the radius.
  2. Step 2: Calculate width for 40% thickness

    For 40% thickness for the slices, set width=0.6 (leaving a hole size of 40%).
  3. Final Answer:

    wedgeprops={'width': 0.6} -> Option B
  4. Quick Check:

    width=0.6 gives 40% slice thickness [OK]
Hint: Width = slice thickness fraction (1 - hole size) [OK]
Common Mistakes:
  • Confusing width with hole size
  • Using width less than hole thickness
  • Setting width to 1 (no hole)
Recommended

Ready to prove it?

Pass the test and this pattern moves unknown strong while earning +1 Grip toward your certificate.

10 questions~5 mineasy hard