Bird
Raised Fist0
Matplotlibdata~10 mins

Lollipop charts 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 lollipop chart with matplotlib.

Matplotlib
import matplotlib.pyplot as plt

x = [1, 2, 3, 4, 5]
y = [10, 15, 7, 12, 9]

plt.stem(x, y, linefmt='grey', markerfmt='o', basefmt=' ')
plt.xlabel('X axis')
plt.ylabel('Y axis')
plt.title('Basic Lollipop Chart')
plt.[1]()
Drag options to blanks, or click blank then click option'
Abar
Bplot
Cscatter
Dshow
Attempts:
3 left
💡 Hint
Common Mistakes
Using plt.plot() instead of plt.show() to display the plot.
Forgetting to call any function to display the chart.
2fill in blank
medium

Complete the code to set the color of the markers in the lollipop chart to red.

Matplotlib
import matplotlib.pyplot as plt

x = [1, 2, 3, 4, 5]
y = [10, 15, 7, 12, 9]

plt.stem(x, y, linefmt='grey', markerfmt='[1]', basefmt=' ')
plt.show()
Drag options to blanks, or click blank then click option'
A'ro'
B'ko'
C'go'
D'bo'
Attempts:
3 left
💡 Hint
Common Mistakes
Using 'bo' which sets blue markers instead of red.
Forgetting to include the marker style 'o' in the string.
3fill in blank
hard

Fix the error in the code to correctly plot a lollipop chart with custom line and marker colors.

Matplotlib
import matplotlib.pyplot as plt

x = [1, 2, 3, 4, 5]
y = [10, 15, 7, 12, 9]

plt.stem(x, y, linefmt=[1], markerfmt='ro', basefmt=' ')
plt.show()
Drag options to blanks, or click blank then click option'
A'grey--'
B'grey-'
C'grey'
D'grey:'
Attempts:
3 left
💡 Hint
Common Mistakes
Using only 'grey' without a line style causes an error.
Using dashed or dotted line styles when a solid line is expected.
4fill in blank
hard

Fill both blanks to create a lollipop chart with green stems and blue circle markers.

Matplotlib
import matplotlib.pyplot as plt

x = [1, 2, 3, 4, 5]
y = [10, 15, 7, 12, 9]

plt.stem(x, y, linefmt=[1], markerfmt=[2], basefmt=' ')
plt.show()
Drag options to blanks, or click blank then click option'
A'g-'
B'ro'
C'bo'
D'k-'
Attempts:
3 left
💡 Hint
Common Mistakes
Mixing up colors or line styles in the format strings.
Using 'ro' for markers when blue markers are requested.
5fill in blank
hard

Fill all three blanks to create a lollipop chart with x labels, y values, and a title.

Matplotlib
import matplotlib.pyplot as plt

x = [1, 2, 3, 4, 5]
y = [10, 15, 7, 12, 9]

plt.stem([1], [2], linefmt='grey-', markerfmt='ro', basefmt=' ')
plt.[3]('Lollipop Chart Example')
plt.show()
Drag options to blanks, or click blank then click option'
Ax
By
Ctitle
Dxlabel
Attempts:
3 left
💡 Hint
Common Mistakes
Swapping x and y data in the stem function.
Using plt.xlabel() instead of plt.title() for the chart title.

Practice

(1/5)
1. What is the main purpose of a lollipop chart in data visualization?
easy
A. To compare values using lines and dots for clear differences
B. To show the distribution of data using bars
C. To display data points on a map
D. To create 3D surface plots

Solution

  1. Step 1: Understand lollipop chart basics

    A lollipop chart uses lines and dots to compare values clearly, making differences easy to see.
  2. Step 2: Compare with other chart types

    Bar charts show distribution, maps show locations, and 3D plots show surfaces, which are different from lollipop charts.
  3. Final Answer:

    To compare values using lines and dots for clear differences -> Option A
  4. Quick Check:

    Lollipop chart = lines + dots comparison [OK]
Hint: Remember: lollipop = line + dot comparison [OK]
Common Mistakes:
  • Confusing lollipop charts with bar charts
  • Thinking lollipop charts show geographic data
  • Assuming lollipop charts are 3D plots
2. Which matplotlib function is used to create a basic lollipop chart?
easy
A. plt.bar()
B. plt.scatter()
C. plt.plot()
D. plt.stem()

Solution

  1. Step 1: Identify the function for lollipop charts

    Matplotlib's plt.stem() creates lollipop charts by drawing lines with markers at the ends.
  2. Step 2: Differentiate from other plotting functions

    plt.bar() makes bar charts, plt.scatter() makes scatter plots, and plt.plot() makes line plots, not lollipop charts.
  3. Final Answer:

    plt.stem() -> Option D
  4. Quick Check:

    Use plt.stem() for lollipop charts [OK]
Hint: Use plt.stem() to combine lines and dots [OK]
Common Mistakes:
  • Using plt.bar() instead of plt.stem()
  • Confusing scatter plots with lollipop charts
  • Trying plt.plot() which lacks markers by default
3. What will the following code output?
import matplotlib.pyplot as plt
x = [1, 2, 3]
y = [4, 2, 5]
plt.stem(x, y)
plt.show()
medium
A. A bar chart with bars at x=1,2,3 and heights 4,2,5
B. A lollipop chart with stems at x=1,2,3 and heights 4,2,5
C. A scatter plot with points at (1,4), (2,2), (3,5)
D. An error because plt.stem() needs more arguments

Solution

  1. Step 1: Understand plt.stem() behavior

    The function plt.stem(x, y) draws vertical lines (stems) from zero to each y value at positions x, with dots at the top.
  2. Step 2: Analyze the given data points

    Here, x = [1,2,3] and y = [4,2,5], so stems appear at x=1 with height 4, x=2 with height 2, and x=3 with height 5.
  3. Final Answer:

    A lollipop chart with stems at x=1,2,3 and heights 4,2,5 -> Option B
  4. Quick Check:

    plt.stem(x,y) = lollipop chart [OK]
Hint: plt.stem(x,y) draws stems at x with heights y [OK]
Common Mistakes:
  • Thinking plt.stem() creates bar charts
  • Confusing scatter plot with lollipop chart
  • Assuming plt.stem() requires extra arguments
4. Identify the error in this code for creating a lollipop chart:
import matplotlib.pyplot as plt
x = [1, 2, 3]
y = [4, 5]
plt.stem(x, y)
plt.show()
medium
A. plt.stem() is not imported correctly
B. plt.show() is missing parentheses
C. x and y have different lengths causing a ValueError
D. No error, code runs fine

Solution

  1. Step 1: Check lengths of x and y

    x has 3 elements, y has 2 elements. They must be the same length for plotting.
  2. Step 2: Understand matplotlib error

    Matplotlib raises a ValueError when x and y lengths differ because it cannot pair points correctly.
  3. Final Answer:

    x and y have different lengths causing a ValueError -> Option C
  4. Quick Check:

    Equal length x,y needed [OK]
Hint: Check x and y lengths match before plotting [OK]
Common Mistakes:
  • Ignoring length mismatch between x and y
  • Thinking plt.show() needs no parentheses
  • Assuming plt.stem() import causes error
5. Which code snippet correctly changes the marker color to red?
import matplotlib.pyplot as plt
x = [1, 2, 3, 4]
y = [5, 3, 9, 6]
markerline, stemlines, baseline = plt.stem(x, y)
# Change marker color to red
# Which line below is correct?
hard
A. markerline.set_color('red')
B. markerline.get_markerfacecolor()[2].set_color('red')
C. markerline.get_markerfacecolor()[2] = 'red'
D. markerline.get_markerfacecolor()[2].set_facecolor('red')

Solution

  1. Step 1: Understand plt.stem() return values

    It returns markerline, stemlines, baseline. markerline is a Line2D object representing all markers.
  2. Step 2: Change marker color correctly

    Use markerline.set_color('red') to change the marker colors to red.
  3. Final Answer:

    markerline.set_color('red') -> Option A
  4. Quick Check:

    Use set_color() on markerline to change marker colors [OK]
Hint: Use set_color() on markerline to change marker colors [OK]
Common Mistakes:
  • Trying to assign color directly to a list element
  • Using get_markerfacecolor() incorrectly
  • Confusing set_color() with set_facecolor()
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