Bird
Raised Fist0
Matplotlibdata~5 mins

Plt.subplots with rows and columns in Matplotlib - Cheat Sheet & Quick Revision

Choose your learning style10 modes available
Recall & Review
beginner
What does plt.subplots(rows, cols) do in matplotlib?
It creates a figure and a grid of subplots arranged in the specified number of rows and columns. You get a figure object and an array of axes to plot on.
Click to reveal answer
beginner
How do you access the subplot in the second row and first column when using plt.subplots(2, 3)?
You access it with axes[1, 0] because indexing starts at 0 and axes is a 2D array of shape (2, 3).
Click to reveal answer
beginner
What type of object is returned by plt.subplots()?
It returns a tuple: (figure, axes). figure is the whole drawing area, and axes is either a single Axes object or an array of Axes objects.
Click to reveal answer
beginner
How can you create a 1-row, 3-column subplot layout?
Use fig, axes = plt.subplots(1, 3). This creates one row with three columns of plots side by side.
Click to reveal answer
beginner
What happens if you create subplots with plt.subplots(1, 1)?
You get a single Axes object, not an array. So you can use it directly without indexing.
Click to reveal answer
What does plt.subplots(2, 2) return?
AOnly a figure object
BA figure and a 2x2 array of Axes objects
COnly a list of plots
DA figure and a single Axes object
How do you plot on the subplot in the first row, second column of plt.subplots(3, 3)?
Aaxes[0, 2]
Baxes[1, 0]
Caxes[1, 1]
Daxes[0, 1]
If you create subplots with plt.subplots(1, 1), what type is axes?
AA single Axes object
BA list
CA 2D array
DNone
What is the shape of axes when you run fig, axes = plt.subplots(4, 1)?
A(4, 1) array
B(1, 4) array
CSingle Axes object
DList of 4 figures
Which command creates a 2-row, 3-column grid of plots?
Aplt.subplots(3, 2)
Bplt.subplots(1, 6)
Cplt.subplots(2, 3)
Dplt.subplots(6, 1)
Explain how to create a grid of subplots with 2 rows and 3 columns using matplotlib and how to access the subplot in the second row, third column.
Remember indexing starts at 0 for rows and columns.
You got /4 concepts.
    Describe what happens when you create subplots with plt.subplots(1, 1) and how it differs from creating multiple subplots.
    Think about the shape and type of axes returned.
    You got /4 concepts.

      Practice

      (1/5)
      1. What does plt.subplots(2, 3) create in matplotlib?
      easy
      A. A figure with 2 rows and 3 columns of subplots
      B. A figure with 3 rows and 2 columns of subplots
      C. A single plot with size 2x3 inches
      D. A figure with 6 rows and 1 column of subplots

      Solution

      1. Step 1: Understand plt.subplots parameters

        The first parameter is the number of rows, the second is columns.
      2. Step 2: Apply to given code

        plt.subplots(2, 3) means 2 rows and 3 columns of subplots.
      3. Final Answer:

        A figure with 2 rows and 3 columns of subplots -> Option A
      4. Quick Check:

        rows=2, columns=3 = B [OK]
      Hint: First number = rows, second = columns in plt.subplots [OK]
      Common Mistakes:
      • Confusing rows and columns order
      • Thinking parameters set figure size
      • Assuming single plot created
      2. Which of the following is the correct syntax to create a 3x1 subplot grid using plt.subplots?
      easy
      A. fig, axes = plt.subplots(1, 3)
      B. fig, axes = plt.subplots(3)
      C. fig, axes = plt.subplots(3, 1)
      D. fig, axes = plt.subplots(rows=3, cols=1)

      Solution

      1. Step 1: Recall plt.subplots parameter order

        The first argument is rows, second is columns.
      2. Step 2: Match to 3 rows and 1 column

        plt.subplots(3, 1) creates 3 rows and 1 column.
      3. Final Answer:

        fig, axes = plt.subplots(3, 1) -> Option C
      4. Quick Check:

        3 rows, 1 column = C [OK]
      Hint: Remember: plt.subplots(rows, columns) order matters [OK]
      Common Mistakes:
      • Swapping rows and columns
      • Using single number for both dimensions
      • Using keyword arguments incorrectly
      3. What is the shape of axes returned by fig, axes = plt.subplots(2, 2)?
      medium
      A. A 1D array with 4 axes objects
      B. A 2D array with shape (2, 2) of axes objects
      C. A list of 2 axes objects
      D. A single axes object

      Solution

      1. Step 1: Understand axes shape for multiple rows and columns

        When rows and columns are more than 1, axes is a 2D array matching shape.
      2. Step 2: Apply to plt.subplots(2, 2)

        axes will be a 2x2 array of axes objects.
      3. Final Answer:

        A 2D array with shape (2, 2) of axes objects -> Option B
      4. Quick Check:

        Multiple rows and columns = 2D axes array [OK]
      Hint: Multiple rows & columns -> axes is 2D array [OK]
      Common Mistakes:
      • Assuming axes is always 1D
      • Confusing number of axes with shape
      • Expecting a single axes object
      4. Given the code:
      fig, axes = plt.subplots(2, 2)
      axes[2, 0].plot([1, 2, 3])

      What error will occur?
      medium
      A. No error, plot will display
      B. TypeError: axes object is not subscriptable
      C. AttributeError: 'AxesSubplot' object has no attribute 'plot'
      D. IndexError: index 2 is out of bounds for axis 0 with size 2

      Solution

      1. Step 1: Check axes shape from plt.subplots(2, 2)

        axes is a 2x2 array with indices 0 and 1 for rows and columns.
      2. Step 2: Analyze axes[2, 0] access

        Index 2 for rows is out of bounds since max index is 1.
      3. Final Answer:

        IndexError: index 2 is out of bounds for axis 0 with size 2 -> Option D
      4. Quick Check:

        axes shape (2,2), index 2 invalid [OK]
      Hint: Check axes array shape before indexing [OK]
      Common Mistakes:
      • Using invalid indices beyond shape
      • Confusing axes as list instead of array
      • Expecting no error on wrong index
      5. You want to create a 2x3 grid of subplots and plot a line on each subplot with data from a list of 6 arrays. Which code correctly accesses each subplot to plot inside a nested loop?
      hard
      A. for i in range(2): for j in range(3): axes[i][j].plot(data[i*3 + j])
      B. for i in range(2): for j in range(3): axes[i, j].plot(data[i + j])
      C. for i in range(3): for j in range(2): axes[i][j].plot(data[i*2 + j])
      D. for i in range(2): for j in range(3): axes[j][i].plot(data[i*3 + j])

      Solution

      1. Step 1: Understand axes shape and indexing

        plt.subplots(2, 3) creates axes as a 2x3 array, indexed as axes[row][col].
      2. Step 2: Correctly map data list to subplot indices

        Data index = row * number_of_columns + column = i*3 + j matches subplot position.
      3. Final Answer:

        for i in range(2): for j in range(3): axes[i][j].plot(data[i*3 + j]) -> Option A
      4. Quick Check:

        axes[row][col], data index = row*cols + col [OK]
      Hint: Use axes[row][col] and data index = row*cols + col [OK]
      Common Mistakes:
      • Swapping row and column loops
      • Incorrect data indexing
      • Using axes[j][i] instead of axes[i][j]
      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