Bird
Raised Fist0
Matplotlibdata~10 mins

Donut chart variation in Matplotlib - Interactive Code Practice

Choose your learning style10 modes available
Practice - 5 Tasks
Answer the questions below
1fill in blank
easy

Complete the code to create a basic pie chart using matplotlib.

Matplotlib
import matplotlib.pyplot as plt

sizes = [30, 20, 50]
labels = ['A', 'B', 'C']

plt.pie(sizes, labels=[1])
plt.show()
Drag options to blanks, or click blank then click option'
Asizes
Bcolors
Clabels
Dexplode
Attempts:
3 left
💡 Hint
Common Mistakes
Using sizes instead of labels for the labels parameter.
Passing a variable that does not exist.
2fill in blank
medium

Complete the code to add a white circle in the center to create a donut chart effect.

Matplotlib
import matplotlib.pyplot as plt

sizes = [40, 35, 25]
labels = ['X', 'Y', 'Z']

plt.pie(sizes, labels=labels)
centre_circle = plt.Circle((0,0), [1], fc='white')
fig = plt.gcf()
fig.gca().add_artist(centre_circle)
plt.show()
Drag options to blanks, or click blank then click option'
A1.5
B0.5
C0
D2
Attempts:
3 left
💡 Hint
Common Mistakes
Using a radius equal or greater than 1 which covers the whole pie.
Using zero radius which makes no hole.
3fill in blank
hard

Fix the error in the code to correctly display the donut chart with percentage labels.

Matplotlib
import matplotlib.pyplot as plt

sizes = [25, 50, 25]
labels = ['Red', 'Green', 'Blue']

plt.pie(sizes, labels=labels, autopct=[1])
centre_circle = plt.Circle((0,0), 0.6, fc='white')
fig = plt.gcf()
fig.gca().add_artist(centre_circle)
plt.show()
Drag options to blanks, or click blank then click option'
A'%1.1f%%'
BNone
C'%.1f%'
D'%1.f%%'
Attempts:
3 left
💡 Hint
Common Mistakes
Using '%1.f%%' which misses the decimal place.
Using '%.1f%' which misses the second percent sign.
4fill in blank
hard

Fill both blanks to create a donut chart with exploded slices and a shadow effect.

Matplotlib
import matplotlib.pyplot as plt

sizes = [15, 30, 55]
labels = ['Apple', 'Banana', 'Cherry']
explode = ([1], 0, 0)

plt.pie(sizes, labels=labels, explode=explode, shadow=[2])
centre_circle = plt.Circle((0,0), 0.7, fc='white')
fig = plt.gcf()
fig.gca().add_artist(centre_circle)
plt.show()
Drag options to blanks, or click blank then click option'
A0.1
BTrue
CFalse
D0.5
Attempts:
3 left
💡 Hint
Common Mistakes
Using 0 instead of a positive float for explode.
Setting shadow to a string instead of a boolean.
5fill in blank
hard

Fill all three blanks to create a donut chart with custom colors, start angle, and percentage format.

Matplotlib
import matplotlib.pyplot as plt

sizes = [20, 40, 40]
labels = ['East', 'West', 'North']
colors = ['#ff9999', '#66b3ff', [1]]

plt.pie(sizes, labels=labels, colors=colors, startangle=[2], autopct=[3])
centre_circle = plt.Circle((0,0), 0.5, fc='white')
fig = plt.gcf()
fig.gca().add_artist(centre_circle)
plt.show()
Drag options to blanks, or click blank then click option'
A'#99ff99'
B90
C'%1.0f%%'
D'#333333'
Attempts:
3 left
💡 Hint
Common Mistakes
Using a color string without quotes.
Using a start angle as a string instead of an integer.
Using autopct without the double percent signs.

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