Bird
Raised Fist0
Matplotlibdata~10 mins

Statistical plot enhancements in Matplotlib - Interactive Code Practice

Choose your learning style10 modes available

Start learning this pattern below

Jump into concepts and practice - no test required

or
Recommended
Test this pattern10 questions across easy, medium, and hard to know if this pattern is strong
Practice - 5 Tasks
Answer the questions below
1fill in blank
easy

Complete the code to add a title to the plot.

Matplotlib
import matplotlib.pyplot as plt
plt.plot([1, 2, 3], [4, 5, 6])
plt.[1]('My Plot')
plt.show()
Drag options to blanks, or click blank then click option'
Alegend
Btitle
Cylabel
Dxlabel
Attempts:
3 left
💡 Hint
Common Mistakes
Using xlabel or ylabel instead of title.
Trying to add a legend without labels.
2fill in blank
medium

Complete the code to add grid lines to the plot.

Matplotlib
import matplotlib.pyplot as plt
plt.plot([1, 2, 3], [4, 5, 6])
plt.[1](True)
plt.show()
Drag options to blanks, or click blank then click option'
Agrid
Baxis
Clegend
Dscatter
Attempts:
3 left
💡 Hint
Common Mistakes
Using legend instead of grid.
Trying to use axis to add grid lines.
3fill in blank
hard

Fix the error in the code to set x-axis label correctly.

Matplotlib
import matplotlib.pyplot as plt
plt.plot([1, 2, 3], [4, 5, 6])
plt.xlabel[1]('Time (s)')
plt.show()
Drag options to blanks, or click blank then click option'
A( )
B[ ]
C{ }
D< >
Attempts:
3 left
💡 Hint
Common Mistakes
Using square brackets or curly braces instead of parentheses.
Forgetting parentheses entirely.
4fill in blank
hard

Fill both blanks to create a scatter plot with red color and circle markers.

Matplotlib
import matplotlib.pyplot as plt
x = [1, 2, 3]
y = [4, 5, 6]
plt.scatter(x, y, color=[1], marker=[2])
plt.show()
Drag options to blanks, or click blank then click option'
A'red'
B'blue'
C'o'
D'x'
Attempts:
3 left
💡 Hint
Common Mistakes
Using wrong quotes or missing quotes around color.
Using wrong marker symbols.
5fill in blank
hard

Fill all three blanks to create a histogram with 10 bins, green color, and alpha transparency 0.5.

Matplotlib
import matplotlib.pyplot as plt
data = [1, 2, 2, 3, 3, 3, 4, 4, 4, 4]
plt.hist(data, bins=[1], color=[2], alpha=[3])
plt.show()
Drag options to blanks, or click blank then click option'
A5
B'green'
C0.5
D10
Attempts:
3 left
💡 Hint
Common Mistakes
Using string instead of number for bins.
Forgetting quotes around color.
Using alpha values outside 0 to 1 range.

Practice

(1/5)
1. What is the main purpose of adding a legend to a matplotlib plot?
easy
A. To explain what different colors or markers represent
B. To change the plot's background color
C. To save the plot as an image file
D. To remove grid lines from the plot

Solution

  1. Step 1: Understand what a legend does

    A legend shows labels for different plot elements like colors or markers.
  2. Step 2: Match legend purpose to options

    Only To explain what different colors or markers represent describes explaining plot elements, which is the legend's role.
  3. Final Answer:

    To explain what different colors or markers represent -> Option A
  4. Quick Check:

    Legend = Explain plot elements [OK]
Hint: Legend explains plot symbols and colors [OK]
Common Mistakes:
  • Confusing legend with grid or background settings
  • Thinking legend saves the plot
  • Assuming legend removes plot elements
2. Which of the following is the correct way to add a title to a matplotlib plot?
easy
A. plt.set_title('My Plot')
B. plt.add_title('My Plot')
C. plt.title('My Plot')
D. plt.plot_title('My Plot')

Solution

  1. Step 1: Recall matplotlib title syntax

    The correct function to add a title is plt.title().
  2. Step 2: Check options for correct function name

    Only plt.title('My Plot') uses plt.title('My Plot'), which is correct syntax.
  3. Final Answer:

    plt.title('My Plot') -> Option C
  4. Quick Check:

    Title function = plt.title() [OK]
Hint: Use plt.title() to add plot titles [OK]
Common Mistakes:
  • Using incorrect function names like set_title or add_title
  • Confusing title with label functions
  • Missing parentheses in function call
3. What will the following code display?
import matplotlib.pyplot as plt
plt.plot([1, 2, 3], [4, 5, 6], marker='o', color='red')
plt.grid(True)
plt.xlabel('X axis')
plt.ylabel('Y axis')
plt.title('Sample Plot')
plt.show()
medium
A. A red line plot with circle markers, grid lines, and labeled axes with a title
B. A blue scatter plot without grid lines or labels
C. A red bar chart with no markers or grid
D. An empty plot with only axis labels

Solution

  1. Step 1: Analyze plot function and parameters

    The code plots points [1,2,3] vs [4,5,6] with red color and circle markers.
  2. Step 2: Check enhancements added

    Grid is enabled, x and y axes are labeled, and a title is set.
  3. Final Answer:

    A red line plot with circle markers, grid lines, and labeled axes with a title -> Option A
  4. Quick Check:

    Plot with markers, grid, labels, title = A red line plot with circle markers, grid lines, and labeled axes with a title [OK]
Hint: Look for markers, colors, grid, labels in code [OK]
Common Mistakes:
  • Confusing plot type (line vs scatter vs bar)
  • Ignoring grid or label commands
  • Assuming default colors or no markers
4. Identify the error in this code snippet that tries to add a legend:
import matplotlib.pyplot as plt
plt.plot([1, 2, 3], label='Line 1')
plt.legend()
plt.show()
medium
A. The plot function is missing y-values
B. The legend function is called before plot
C. The label parameter is invalid in plot
D. There is no error; the code runs correctly

Solution

  1. Step 1: Check plot function parameters

    The plot call has only one list, so it treats it as y-values with x as indices 0,1,2.
  2. Step 2: Understand matplotlib behavior

    This is valid syntax; it plots y-values against default x-values. So no error here.
  3. Step 3: Re-examine options carefully

    The plot function is missing y-values says missing y-values, but y-values are given. The legend function is called before plot is wrong order. The label parameter is invalid in plot label is valid. There is no error; the code runs correctly says no error.
  4. Final Answer:

    There is no error; the code runs correctly -> Option D
  5. Quick Check:

    Code runs fine with legend after plot [OK]
Hint: Check if plot syntax matches matplotlib docs [OK]
Common Mistakes:
  • Assuming single list plot is invalid
  • Thinking legend must come before plot
  • Believing label is not accepted in plot
5. You want to create a scatter plot with blue triangles, add grid lines, and label axes as 'Height' and 'Weight'. Which code snippet correctly does this?
hard
A. plt.scatter(x, y, marker='s', color='red') plt.grid(True) plt.xlabel('Weight') plt.ylabel('Height')
B. plt.scatter(x, y, marker='^', color='blue') plt.grid(True) plt.xlabel('Height') plt.ylabel('Weight')
C. plt.plot(x, y, marker='o', color='green') plt.grid(False) plt.xlabel('Weight') plt.ylabel('Height')
D. plt.plot(x, y, marker='^', color='blue') plt.grid(True) plt.xlabel('Height') plt.ylabel('Weight')

Solution

  1. Step 1: Identify scatter plot with blue triangles

    Use plt.scatter() with marker='^' and color='blue'.
  2. Step 2: Check grid and axis labels

    Grid must be enabled with plt.grid(True), and axes labeled 'Height' and 'Weight' correctly.
  3. Step 3: Match code snippet to requirements

    plt.scatter(x, y, marker='^', color='blue') plt.grid(True) plt.xlabel('Height') plt.ylabel('Weight') matches all requirements exactly.
  4. Final Answer:

    plt.scatter(x, y, marker='^', color='blue') plt.grid(True) plt.xlabel('Height') plt.ylabel('Weight') -> Option B
  5. Quick Check:

    Scatter + blue triangles + grid + correct labels = plt.scatter(x, y, marker='^', color='blue') plt.grid(True) plt.xlabel('Height') plt.ylabel('Weight') [OK]
Hint: Scatter uses plt.scatter(), triangles marker='^', grid True [OK]
Common Mistakes:
  • Using plt.plot instead of plt.scatter for scatter plot
  • Wrong marker symbol for triangles
  • Swapping x and y axis labels
  • Forgetting to enable grid lines