Bird
Raised Fist0
Matplotlibdata~10 mins

How Matplotlib renders figures - Interactive Practice

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

Complete the code to import the Matplotlib plotting module.

Matplotlib
import matplotlib.[1] as plt
Drag options to blanks, or click blank then click option'
Afigure
Bplot
Cpyplot
Dimage
Attempts:
3 left
💡 Hint
Common Mistakes
Using 'plot' instead of 'pyplot' causes import errors.
Trying to import 'figure' directly is incorrect.
2fill in blank
medium

Complete the code to create a new figure object.

Matplotlib
fig = plt.[1]()
Drag options to blanks, or click blank then click option'
Ashow
Bfigure
Cplot
Ddraw
Attempts:
3 left
💡 Hint
Common Mistakes
Using 'plot()' creates a plot but not a figure object.
Using 'show()' displays the plot but does not create a figure.
3fill in blank
hard

Fix the error in the code to add a subplot to the figure.

Matplotlib
ax = fig.[1](111)
Drag options to blanks, or click blank then click option'
Aadd_subplot
Badd_subplots
Csubplots
Dsubplot
Attempts:
3 left
💡 Hint
Common Mistakes
Using 'subplot' directly on figure causes attribute errors.
Using 'subplots' returns multiple axes, not a single subplot.
4fill in blank
hard

Fill both blanks to plot data and display the figure.

Matplotlib
ax.[1]([1, 2, 3], [4, 5, 6])
plt.[2]()
Drag options to blanks, or click blank then click option'
Aplot
Bshow
Cscatter
Ddraw
Attempts:
3 left
💡 Hint
Common Mistakes
Using 'scatter' instead of 'plot' changes the plot type.
Using 'draw' instead of 'show' does not display the window.
5fill in blank
hard

Fill all three blanks to create a figure, add a subplot, and plot data.

Matplotlib
fig = plt.[1]()
ax = fig.[2](111)
ax.[3]([10, 20, 30], [1, 4, 9])
Drag options to blanks, or click blank then click option'
Afigure
Badd_subplot
Cplot
Dshow
Attempts:
3 left
💡 Hint
Common Mistakes
Mixing up 'add_subplot' and 'subplots'.
Forgetting to call 'plot()' on the axes object.

Practice

(1/5)
1. What is the first step Matplotlib takes when creating a plot?
easy
A. Add data points directly to the screen
B. Display the plot with plt.show()
C. Save the plot to a file automatically
D. Create a figure and axes to draw on

Solution

  1. Step 1: Understand Matplotlib's drawing process

    Matplotlib starts by creating a figure and axes, which are the canvas and area to draw on.
  2. Step 2: Identify the first action in plotting

    Before adding data or showing the plot, the figure and axes must exist to hold the plot.
  3. Final Answer:

    Create a figure and axes to draw on -> Option D
  4. Quick Check:

    First step = create figure and axes [OK]
Hint: Remember: figure and axes come before plotting data [OK]
Common Mistakes:
  • Thinking plt.show() creates the plot
  • Assuming data is drawn directly without axes
  • Believing plot saves automatically without show
2. Which of the following is the correct way to display a Matplotlib figure?
easy
A. plt.show()
B. plt.draw()
C. plt.display()
D. plt.render()

Solution

  1. Step 1: Recall the function to display plots

    Matplotlib uses plt.show() to open a window and display the figure.
  2. Step 2: Check other options for correctness

    plt.draw() updates the figure but does not display it; plt.display() and plt.render() do not exist in Matplotlib.
  3. Final Answer:

    plt.show() -> Option A
  4. Quick Check:

    Display function = plt.show() [OK]
Hint: Use plt.show() to see your plot on screen [OK]
Common Mistakes:
  • Using plt.draw() instead of plt.show()
  • Trying plt.display() which is not a Matplotlib function
  • Confusing plt.render() with other libraries
3. What will the following code display?
import matplotlib.pyplot as plt
fig, ax = plt.subplots()
ax.plot([1, 2, 3], [4, 5, 6])
plt.show()
medium
A. A figure with a line connecting points (1,4), (2,5), (3,6)
B. A blank figure with no lines
C. An error because plt.subplots() is incorrect
D. A scatter plot of points (1,4), (2,5), (3,6)

Solution

  1. Step 1: Understand the code's plotting commands

    plt.subplots() creates figure and axes; ax.plot() draws a line connecting given points.
  2. Step 2: Identify the plot type and output

    ax.plot() connects points with lines, so the figure shows a line through (1,4), (2,5), (3,6).
  3. Final Answer:

    A figure with a line connecting points (1,4), (2,5), (3,6) -> Option A
  4. Quick Check:

    ax.plot() draws lines through points [OK]
Hint: ax.plot() draws lines; scatter needs ax.scatter() [OK]
Common Mistakes:
  • Thinking ax.plot() creates scatter points only
  • Assuming plt.subplots() causes an error
  • Expecting no lines without plt.show()
4. What is wrong with this code snippet?
import matplotlib.pyplot as plt
fig = plt.figure()
plt.plot([1, 2, 3], [4, 5, 6])
fig.show()
medium
A. plt.plot() cannot be used without axes
B. fig.show() does not display the plot; plt.show() is needed
C. plt.figure() must be called after plt.plot()
D. The lists have different lengths causing an error

Solution

  1. Step 1: Analyze the display method used

    fig.show() is not the standard way to display plots; plt.show() is required to render the figure window.
  2. Step 2: Check other parts for errors

    plt.plot() works without explicit axes; lists have equal length; plt.figure() order is correct.
  3. Final Answer:

    fig.show() does not display the plot; plt.show() is needed -> Option B
  4. Quick Check:

    Use plt.show() to display figures [OK]
Hint: Always end with plt.show() to display plots [OK]
Common Mistakes:
  • Using fig.show() instead of plt.show()
  • Thinking plt.plot() needs axes object
  • Assuming list length mismatch causes error here
5. You want to create a figure with two side-by-side plots sharing the same y-axis. Which code correctly sets this up before plotting data?
hard
A. fig, (ax1, ax2) = plt.subplots(2, 2, sharey=True)
B. fig, ax = plt.subplots(2, 1, sharex=True)
C. fig, (ax1, ax2) = plt.subplots(1, 2, sharey=True)
D. fig = plt.figure() ax1 = fig.add_subplot(121) ax2 = fig.add_subplot(122)

Solution

  1. Step 1: Understand subplot layout for side-by-side plots

    Side-by-side means 1 row and 2 columns, so plt.subplots(1, 2) is correct.
  2. Step 2: Check sharing y-axis option

    sharey=True shares the y-axis between the two plots as required.
  3. Step 3: Verify other options

    fig, ax = plt.subplots(2, 1, sharex=True) creates vertical plots sharing x-axis; fig = plt.figure() ax1 = fig.add_subplot(121) ax2 = fig.add_subplot(122) creates subplots but does not share y-axis; fig, (ax1, ax2) = plt.subplots(2, 2, sharey=True) creates 4 plots (2x2), not 2 side-by-side.
  4. Final Answer:

    fig, (ax1, ax2) = plt.subplots(1, 2, sharey=True) -> Option C
  5. Quick Check:

    Side-by-side = (1,2), share y-axis = sharey=True [OK]
Hint: Use plt.subplots(1, 2, sharey=True) for side-by-side shared y-axis [OK]
Common Mistakes:
  • Confusing rows and columns in plt.subplots()
  • Forgetting to set sharey=True for shared y-axis
  • Using add_subplot without sharing axes
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