Bird
Raised Fist0
Matplotlibdata~15 mins

Axes creation with add_subplot in Matplotlib - Mini Project: Build & Apply

Choose your learning style10 modes available
Axes Creation with add_subplot in Matplotlib
📖 Scenario: You are working on a simple data visualization project. You want to create a plot with multiple sections (subplots) to compare different data sets side by side.
🎯 Goal: Build a Python script that creates a figure and adds two subplots using add_subplot. Each subplot will later hold a different plot.
📋 What You'll Learn
Create a figure object using plt.figure()
Add a first subplot to the figure using add_subplot(1, 2, 1)
Add a second subplot to the figure using add_subplot(1, 2, 2)
Print the axes objects to confirm creation
💡 Why This Matters
🌍 Real World
Creating multiple plots in one figure helps compare data sets side by side, useful in reports and presentations.
💼 Career
Data scientists and analysts often create multi-plot figures to visualize and compare different data trends clearly.
Progress0 / 4 steps
1
Create a figure object
Write code to create a figure object called fig using plt.figure().
Matplotlib
Hint

Use plt.figure() to create a new figure and assign it to fig.

2
Add the first subplot
Add a subplot to the figure fig using add_subplot(1, 2, 1) and assign it to a variable called ax1.
Matplotlib
Hint

Use fig.add_subplot(1, 2, 1) to add the first subplot and save it as ax1.

3
Add the second subplot
Add a second subplot to the figure fig using add_subplot(1, 2, 2) and assign it to a variable called ax2.
Matplotlib
Hint

Use fig.add_subplot(1, 2, 2) to add the second subplot and save it as ax2.

4
Print the axes objects
Print the variables ax1 and ax2 to display the axes objects created by add_subplot.
Matplotlib
Hint

Use print(ax1) and print(ax2) to show the axes objects.

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