Bird
Raised Fist0
Matplotlibdata~15 mins

Subplot spacing adjustment in Matplotlib - Mini Project: Build & Apply

Choose your learning style10 modes available
Subplot spacing adjustment
📖 Scenario: You are creating a simple report with multiple charts side by side. To make the report look neat, you need to adjust the space between the charts.
🎯 Goal: Learn how to create multiple subplots using matplotlib and adjust the spacing between them using plt.subplots_adjust().
📋 What You'll Learn
Create a figure with 2 subplots side by side
Set the horizontal space between subplots to 0.5
Display the figure with adjusted spacing
💡 Why This Matters
🌍 Real World
Adjusting subplot spacing helps make charts in reports or presentations look neat and easy to read.
💼 Career
Data scientists and analysts often create multiple charts together and need to control layout for better visualization.
Progress0 / 4 steps
1
Create two subplots side by side
Write code to create a figure and two subplots side by side using plt.subplots() with nrows=1 and ncols=2. Store the result in variables fig and axes.
Matplotlib
Hint

Use plt.subplots(nrows=1, ncols=2) to create two subplots in one row.

2
Set horizontal spacing between subplots
Create a variable called hspace and set it to 0.5. This will control the horizontal space between the subplots.
Matplotlib
Hint

Just create a variable named hspace and assign it the value 0.5.

3
Adjust subplot spacing using plt.subplots_adjust()
Use plt.subplots_adjust() with the argument wspace=hspace to set the horizontal space between the subplots.
Matplotlib
Hint

Call plt.subplots_adjust() and pass wspace=hspace to adjust horizontal spacing.

4
Display the figure
Use plt.show() to display the figure with the adjusted subplot spacing.
Matplotlib
Hint

Call plt.show() to open the window showing your subplots.

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