Bird
Raised Fist0
Matplotlibdata~10 mins

Axes creation with add_subplot 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 subplot in a figure.

Matplotlib
import matplotlib.pyplot as plt
fig = plt.figure()
ax = fig.[1](111)
plt.show()
Drag options to blanks, or click blank then click option'
Asubplot
Badd_subplot
Caddplot
Dplot
Attempts:
3 left
💡 Hint
Common Mistakes
Using 'subplot' instead of 'add_subplot' on the figure object.
Using 'plot' which is for plotting data, not creating axes.
2fill in blank
medium

Complete the code to create a 2x2 grid of subplots and select the second subplot.

Matplotlib
import matplotlib.pyplot as plt
fig = plt.figure()
ax = fig.add_subplot([1])
plt.show()
Drag options to blanks, or click blank then click option'
A222
B212
C122
D221
Attempts:
3 left
💡 Hint
Common Mistakes
Using '221' which selects the first subplot.
Using '212' which is 2 rows, 1 column, 2nd subplot.
3fill in blank
hard

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

Matplotlib
import matplotlib.pyplot as plt
fig = plt.figure()
ax = fig.[1](1, 2, 1)
plt.show()
Drag options to blanks, or click blank then click option'
Aadd_subplot
Bsubplot
Caddplot
Dplot
Attempts:
3 left
💡 Hint
Common Mistakes
Using 'subplot' which is a pyplot function, not a figure method.
Using 'addplot' which does not exist.
4fill in blank
hard

Fill both blanks to create a 3x1 grid and select the second subplot.

Matplotlib
import matplotlib.pyplot as plt
fig = plt.figure()
ax = fig.[1]([2])
plt.show()
Drag options to blanks, or click blank then click option'
Aadd_subplot
B312
C311
Dsubplot
Attempts:
3 left
💡 Hint
Common Mistakes
Using 'subplot' instead of 'add_subplot'.
Using '311' which selects the first subplot.
5fill in blank
hard

Fill all three blanks to create a 2x3 grid and select the fourth subplot.

Matplotlib
import matplotlib.pyplot as plt
fig = plt.figure()
ax = fig.[1]([2], [3], 4)
plt.show()
Drag options to blanks, or click blank then click option'
Aadd_subplot
B2
C3
Dsubplot
Attempts:
3 left
💡 Hint
Common Mistakes
Using 'subplot' instead of 'add_subplot'.
Swapping rows and columns arguments.

Practice

(1/5)
1. What does the add_subplot method do in matplotlib?
easy
A. It removes a plot from the figure.
B. It saves the figure to a file.
C. It changes the color of the plot.
D. It adds a new plot (axes) to an existing figure.

Solution

  1. Step 1: Understand the purpose of add_subplot

    The add_subplot method is used to add one or more plots (axes) inside a figure in matplotlib.
  2. Step 2: Compare with other options

    Saving, coloring, or removing plots are done by other methods, not add_subplot.
  3. Final Answer:

    It adds a new plot (axes) to an existing figure. -> Option D
  4. Quick Check:

    add_subplot adds axes [OK]
Hint: Remember: add_subplot adds plots inside a figure [OK]
Common Mistakes:
  • Confusing add_subplot with savefig
  • Thinking it changes plot colors
  • Assuming it deletes plots
2. Which of the following is the correct way to create a 2x2 grid of subplots and select the third subplot using add_subplot?
easy
A. fig.add_subplot(2, 2, 3)
B. fig.add_subplot(3, 2, 2)
C. fig.add_subplot(2, 3, 1)
D. fig.add_subplot(2, 2)

Solution

  1. Step 1: Understand the parameters of add_subplot

    The method add_subplot(rows, columns, index) creates a grid and selects the subplot at the given index.
  2. Step 2: Match the correct grid and index

    For a 2x2 grid, the third subplot is at position 3, so fig.add_subplot(2, 2, 3) is correct.
  3. Final Answer:

    fig.add_subplot(2, 2, 3) -> Option A
  4. Quick Check:

    2x2 grid, third subplot = add_subplot(2,2,3) [OK]
Hint: Use (rows, cols, position) to pick subplot [OK]
Common Mistakes:
  • Mixing rows and columns order
  • Omitting the position argument
  • Using wrong grid size
3. What will be the output of the following code snippet?
import matplotlib.pyplot as plt
fig = plt.figure()
ax1 = fig.add_subplot(121)
ax2 = fig.add_subplot(122)
print(type(ax1), type(ax2))
medium
A.
B.
C.
D. SyntaxError

Solution

  1. Step 1: Understand add_subplot with 3-digit code

    The code 121 means 1 row, 2 columns, subplot 1; 122 means subplot 2.
  2. Step 2: Check the returned object types

    Both ax1 and ax2 are subplot axes objects of type AxesSubplot.
  3. Final Answer:

    <class 'matplotlib.axes._subplots.AxesSubplot'> <class 'matplotlib.axes._subplots.AxesSubplot'> -> Option A
  4. Quick Check:

    add_subplot returns AxesSubplot objects [OK]
Hint: 3-digit code means (rows, cols, index) [OK]
Common Mistakes:
  • Expecting Figure type instead of Axes
  • Confusing syntax with tuple input
  • Thinking it causes syntax error
4. Identify the error in this code snippet:
import matplotlib.pyplot as plt
fig = plt.figure()
ax = fig.add_subplot(2, 2)
ax.plot([1, 2, 3], [4, 5, 6])
plt.show()
medium
A. plt.figure() should be plt.subplots() instead.
B. Missing the subplot position argument in add_subplot.
C. The plot data lists have different lengths.
D. plt.show() is called before plotting.

Solution

  1. Step 1: Check add_subplot parameters

    The method requires three arguments: rows, columns, and position. Here, only two are given.
  2. Step 2: Verify other parts of the code

    Plot data lists have equal length, plt.show() is correctly placed, and plt.figure() is valid.
  3. Final Answer:

    Missing the subplot position argument in add_subplot. -> Option B
  4. Quick Check:

    add_subplot needs 3 args (rows, cols, pos) [OK]
Hint: add_subplot needs three numbers: rows, cols, position [OK]
Common Mistakes:
  • Forgetting the position argument
  • Confusing plt.figure() with plt.subplots()
  • Assuming plt.show() order matters here
5. You want to create a figure with 3 subplots arranged in 1 row and 3 columns. You want to add the second subplot and plot a line on it. Which code snippet correctly does this?
hard
A. fig = plt.figure() ax = fig.add_subplot(3, 1, 2) ax.plot([0, 1, 2], [2, 1, 0]) plt.show()
B. fig, ax = plt.subplots(3, 1) ax[1].plot([0, 1, 2], [2, 1, 0]) plt.show()
C. fig = plt.figure() ax = fig.add_subplot(1, 3, 2) ax.plot([0, 1, 2], [2, 1, 0]) plt.show()
D. fig = plt.figure() ax = fig.add_subplot(1, 2, 3) ax.plot([0, 1, 2], [2, 1, 0]) plt.show()

Solution

  1. Step 1: Understand subplot layout

    We want 1 row and 3 columns, so the call is add_subplot(1, 3, position).
  2. Step 2: Select the second subplot and plot

    Position 2 selects the second subplot. The plot command is correct.
  3. Step 3: Check other options

    fig, ax = plt.subplots(3, 1) ax[1].plot([0, 1, 2], [2, 1, 0]) plt.show() uses plt.subplots with wrong shape, C uses wrong layout, D uses invalid position 3 in 1x2 grid.
  4. Final Answer:

    fig = plt.figure() ax = fig.add_subplot(1, 3, 2) ax.plot([0, 1, 2], [2, 1, 0]) plt.show() -> Option C
  5. Quick Check:

    1 row, 3 cols, second subplot = add_subplot(1,3,2) [OK]
Hint: Match rows, cols, and position carefully [OK]
Common Mistakes:
  • Mixing rows and columns numbers
  • Using wrong subplot index
  • Confusing plt.figure() and plt.subplots()
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