Bird
Raised Fist0
Matplotlibdata~10 mins

Subplot spacing adjustment 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 figure with 2 subplots arranged vertically.

Matplotlib
import matplotlib.pyplot as plt
fig, axs = plt.subplots(2, 1)
plt.[1]()
plt.show()
Drag options to blanks, or click blank then click option'
Atight_layout
Bshow
Csubplot
Dfigure
Attempts:
3 left
💡 Hint
Common Mistakes
Using plt.show() instead of plt.tight_layout() before showing the plot.
Calling plt.subplot() which creates a single subplot, not adjusting spacing.
2fill in blank
medium

Complete the code to adjust horizontal space between subplots using subplots_adjust.

Matplotlib
import matplotlib.pyplot as plt
fig, axs = plt.subplots(1, 2)
fig.subplots_adjust([1]=0.5)
plt.show()
Drag options to blanks, or click blank then click option'
Atop
Bwspace
Chspace
Dleft
Attempts:
3 left
💡 Hint
Common Mistakes
Using 'hspace' which controls vertical spacing instead of horizontal.
Using 'top' or 'left' which control figure edges, not spacing between subplots.
3fill in blank
hard

Fix the error in the code to adjust vertical space between subplots.

Matplotlib
import matplotlib.pyplot as plt
fig, axs = plt.subplots(2, 1)
fig.subplots_adjust([1]=0.3)
plt.show()
Drag options to blanks, or click blank then click option'
Awspace
Bwidth
Chspace
Dheight
Attempts:
3 left
💡 Hint
Common Mistakes
Using 'wspace' which adjusts horizontal spacing.
Using 'width' or 'height' which are not valid parameters for subplots_adjust.
4fill in blank
hard

Fill both blanks to create subplots and adjust both horizontal and vertical spacing.

Matplotlib
import matplotlib.pyplot as plt
fig, axs = plt.subplots(2, 2)
fig.subplots_adjust([1]=0.4, [2]=0.6)
plt.show()
Drag options to blanks, or click blank then click option'
Awspace
Bhspace
Cleft
Dright
Attempts:
3 left
💡 Hint
Common Mistakes
Using 'left' or 'right' which control figure edges, not spacing.
Mixing up 'wspace' and 'hspace' parameters.
5fill in blank
hard

Fill all three blanks to create subplots, adjust spacing, and set a title for the figure.

Matplotlib
import matplotlib.pyplot as plt
fig, axs = plt.subplots(3, 1)
fig.subplots_adjust([1]=0.5, [2]=0.4)
fig.[3]('My Subplots')
plt.show()
Drag options to blanks, or click blank then click option'
Awspace
Bhspace
Csuptitle
Dtitle
Attempts:
3 left
💡 Hint
Common Mistakes
Using title which sets title for individual subplots, not the figure.
Mixing up wspace and hspace values.

Practice

(1/5)
1. What does the plt.subplots_adjust() function do in matplotlib?
easy
A. It changes the space between subplots in a figure.
B. It creates new subplots in a figure.
C. It saves the figure to a file.
D. It changes the color of the plot lines.

Solution

  1. Step 1: Understand the purpose of plt.subplots_adjust()

    This function is used to control the spacing between subplots in a matplotlib figure.
  2. Step 2: Compare options

    Only It changes the space between subplots in a figure. correctly describes adjusting space between subplots. Other options describe different functions.
  3. Final Answer:

    It changes the space between subplots in a figure. -> Option A
  4. Quick Check:

    Subplot spacing adjustment = plt.subplots_adjust() [OK]
Hint: Remember: adjust spacing, not create or save plots [OK]
Common Mistakes:
  • Confusing subplot creation with spacing adjustment
  • Thinking it saves the figure
  • Mixing it with styling functions
2. Which of the following is the correct syntax to increase horizontal space between subplots using plt.subplots_adjust()?
easy
A. plt.subplots_adjust(hspace=0.5)
B. plt.subplots_adjust(space=0.5)
C. plt.subplots_adjust(wspace=0.5)
D. plt.subplots_adjust(widthspace=0.5)

Solution

  1. Step 1: Identify parameter for horizontal spacing

    The parameter wspace controls horizontal space between subplots.
  2. Step 2: Check syntax correctness

    plt.subplots_adjust(wspace=0.5) uses wspace=0.5, which is correct. Other options use incorrect or non-existent parameters.
  3. Final Answer:

    plt.subplots_adjust(wspace=0.5) -> Option C
  4. Quick Check:

    wspace adjusts horizontal space [OK]
Hint: Use wspace for width (horizontal), hspace for height (vertical) [OK]
Common Mistakes:
  • Using hspace instead of wspace for horizontal spacing
  • Using wrong parameter names like space or widthspace
  • Syntax errors in function call
3. What will be the effect of this code on subplot spacing?
import matplotlib.pyplot as plt
fig, axs = plt.subplots(1, 2)
plt.subplots_adjust(wspace=1.0)
plt.show()
medium
A. Subplots will have increased horizontal space between them.
B. Subplots will be very close horizontally with almost no space.
C. Subplots will overlap each other.
D. Subplots will have increased vertical space between them.

Solution

  1. Step 1: Understand wspace=1.0 effect

    Setting wspace to 1.0 increases horizontal space between subplots significantly.
  2. Step 2: Analyze code behavior

    Since there are 2 subplots side by side, they will be spaced apart horizontally, not vertically.
  3. Final Answer:

    Subplots will have increased horizontal space between them. -> Option A
  4. Quick Check:

    wspace=1.0 means more horizontal space [OK]
Hint: wspace controls horizontal gap size between subplots [OK]
Common Mistakes:
  • Confusing wspace with hspace
  • Expecting subplots to overlap
  • Thinking spacing affects vertical gap
4. Identify the error in this code that tries to adjust subplot spacing:
import matplotlib.pyplot as plt
fig, axs = plt.subplots(2, 1)
plt.subplots_adjust(wspace=0.3, hspace=0.5)
plt.show()
medium
A. Using hspace with vertical subplots is invalid.
B. Using wspace when subplots are stacked vertically.
C. Incorrect number of subplots created.
D. Missing plt.show() call.

Solution

  1. Step 1: Analyze subplot layout

    The code creates 2 subplots stacked vertically (2 rows, 1 column).
  2. Step 2: Check spacing parameters

    wspace controls horizontal spacing, which is irrelevant here because subplots are vertical. Only hspace affects vertical spacing.
  3. Final Answer:

    Using wspace when subplots are stacked vertically. -> Option B
  4. Quick Check:

    wspace for horizontal, not vertical spacing [OK]
Hint: Match wspace to horizontal, hspace to vertical layout [OK]
Common Mistakes:
  • Using wspace for vertical subplot spacing
  • Ignoring subplot grid shape
  • Assuming hspace is invalid for vertical layout
5. You have a 2x2 grid of subplots with overlapping x-axis labels. Which plt.subplots_adjust() call best reduces overlap by increasing vertical space and adding some horizontal space?
hard
A. plt.subplots_adjust(wspace=1.5, hspace=0.0)
B. plt.subplots_adjust(wspace=0.0, hspace=0.0)
C. plt.subplots_adjust(wspace=0.0, hspace=1.5)
D. plt.subplots_adjust(wspace=0.4, hspace=0.6)

Solution

  1. Step 1: Understand the problem of overlapping x-axis labels

    Overlapping x-axis labels usually happen vertically between rows, so increasing vertical space (hspace) helps.
  2. Step 2: Consider horizontal space

    Adding some horizontal space (wspace) also improves readability between columns.
  3. Step 3: Evaluate options

    plt.subplots_adjust(wspace=0.4, hspace=0.6) increases both wspace and hspace moderately, which best reduces overlap without wasting space.
  4. Final Answer:

    plt.subplots_adjust(wspace=0.4, hspace=0.6) -> Option D
  5. Quick Check:

    Increase hspace and wspace moderately to reduce overlap [OK]
Hint: Increase hspace for vertical gaps, wspace for horizontal gaps [OK]
Common Mistakes:
  • Setting spacing to zero causing overlap
  • Increasing only one spacing dimension
  • Using too large spacing causing wasted space
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