Bird
Raised Fist0
Data Analysis Pythondata~10 mins

Subplots for multiple charts in Data Analysis Python - 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 and axes for subplots.

Data Analysis Python
fig, ax = plt.[1](1, 2)
Drag options to blanks, or click blank then click option'
Asubplots
Bfigure
Cplot
Dsubplot
Attempts:
3 left
💡 Hint
Common Mistakes
Using plt.subplot instead of plt.subplots
Using plt.plot which only creates a single plot
Using plt.figure which creates only the figure, no axes
2fill in blank
medium

Complete the code to plot a line chart on the first subplot.

Data Analysis Python
ax[[1]].plot(x, y1)
Drag options to blanks, or click blank then click option'
A2
B1
C0
D-1
Attempts:
3 left
💡 Hint
Common Mistakes
Using 1 instead of 0 for the first subplot
Using negative indices incorrectly
Using 2 when only two subplots exist
3fill in blank
hard

Fix the error in the code to set the title of the second subplot.

Data Analysis Python
ax[[1]].set_title('Second Plot')
Drag options to blanks, or click blank then click option'
A1
B0
C2
D-2
Attempts:
3 left
💡 Hint
Common Mistakes
Using 2 which is out of range
Using 0 which is the first subplot
Using negative indices incorrectly
4fill in blank
hard

Fill both blanks to create subplots with 2 rows and 1 column and plot on the first subplot.

Data Analysis Python
fig, ax = plt.subplots([1], [2])
ax[0].plot(x, y)
Drag options to blanks, or click blank then click option'
A2
B1
C3
D4
Attempts:
3 left
💡 Hint
Common Mistakes
Swapping rows and columns
Using 3 or 4 which creates more subplots than needed
5fill in blank
hard

Fill all three blanks to create a dictionary comprehension that maps words to their lengths only if length is greater than 3.

Data Analysis Python
lengths = { [1]: [2] for [3] in words if len([1]) > 3 }
Drag options to blanks, or click blank then click option'
Aword
Blen(word)
Ditem
Attempts:
3 left
💡 Hint
Common Mistakes
Using different variable names inconsistently
Using len(word) as key instead of value
Not filtering words by length

Practice

(1/5)
1. What is the main purpose of using plt.subplots() in data visualization?
easy
A. To create multiple charts in one figure for easy comparison
B. To save a plot as an image file
C. To change the color of a single plot
D. To add a title to a chart

Solution

  1. Step 1: Understand the function of plt.subplots()

    This function creates a figure and a grid of subplots (axes) to hold multiple charts.
  2. Step 2: Recognize the benefit of multiple charts in one figure

    Having multiple charts in one figure helps compare data visually side-by-side.
  3. Final Answer:

    To create multiple charts in one figure for easy comparison -> Option A
  4. Quick Check:

    Subplots = multiple charts in one figure [OK]
Hint: Subplots = multiple charts in one figure [OK]
Common Mistakes:
  • Thinking it saves images
  • Confusing with styling functions
  • Assuming it adds titles
2. Which of the following is the correct way to create a 2x2 grid of subplots using Matplotlib?
easy
A. fig, axs = plt.subplots(2)
B. fig, axs = plt.subplots(4)
C. fig, axs = plt.subplots(1, 4)
D. fig, axs = plt.subplots(2, 2)

Solution

  1. Step 1: Recall the syntax of plt.subplots()

    The function takes rows and columns as arguments to create a grid.
  2. Step 2: Identify the 2x2 grid syntax

    Using plt.subplots(2, 2) creates 2 rows and 2 columns, making 4 subplots.
  3. Final Answer:

    fig, axs = plt.subplots(2, 2) -> Option D
  4. Quick Check:

    Rows and columns = plt.subplots(2, 2) [OK]
Hint: Rows and columns go as two numbers in plt.subplots() [OK]
Common Mistakes:
  • Passing only one number for grid
  • Confusing total plots with grid shape
  • Using wrong argument order
3. What will be the output shape of axs when you run fig, axs = plt.subplots(3, 1)?
medium
A. A list of 3 Axes objects
B. A single Axes object
C. A 3x1 numpy array of Axes objects
D. A 1x3 numpy array of Axes objects

Solution

  1. Step 1: Understand plt.subplots(3, 1) creates 3 rows and 1 column

    This means 3 subplots stacked vertically.
  2. Step 2: Check the type of axs for single column

    When columns = 1, axs is a 2D numpy array of shape (3,1) of Axes objects, not a list.
  3. Final Answer:

    A 3x1 numpy array of Axes objects -> Option C
  4. Quick Check:

    Single column = 2D numpy array of shape (3,1) [OK]
Hint: Single column subplots return 2D numpy array of shape (n,1) [OK]
Common Mistakes:
  • Assuming always 1D list
  • Confusing rows and columns order
  • Expecting single Axes object
4. Identify the error in this code snippet for plotting on subplots:
fig, axs = plt.subplots(2, 2)
axs[2, 0].plot([1, 2, 3])
medium
A. TypeError because axs is not subscriptable
B. IndexError because axs[2, 0] is out of range
C. No error, code runs fine
D. SyntaxError due to wrong indexing

Solution

  1. Step 1: Check the shape of axs from plt.subplots(2, 2)

    It creates a 2x2 grid, so valid indices are 0 or 1 for rows and columns.
  2. Step 2: Analyze the index axs[2, 0]

    Index 2 for rows is out of range (only 0 and 1 allowed), causing IndexError.
  3. Final Answer:

    IndexError because axs[2, 0] is out of range -> Option B
  4. Quick Check:

    Index out of range = IndexError [OK]
Hint: Check subplot indices start at 0 and max is rows-1 [OK]
Common Mistakes:
  • Using indices beyond grid size
  • Confusing syntax error with index error
  • Assuming axs is a flat list
5. You want to plot 5 different line charts in a single figure using subplots arranged in 2 rows and 3 columns. Which code correctly handles the extra subplot that will remain empty?
hard
A. fig, axs = plt.subplots(2, 3) for i in range(5): axs.flat[i].plot([i, i+1, i+2]) axs.flat[5].axis('off')
B. fig, axs = plt.subplots(2, 3) for i in range(6): axs[i].plot([i, i+1, i+2])
C. fig, axs = plt.subplots(5, 1) for i in range(5): axs[i].plot([i, i+1, i+2])
D. fig, axs = plt.subplots(1, 5) for i in range(5): axs[i].plot([i, i+1, i+2])

Solution

  1. Step 1: Understand subplot grid and number of plots

    A 2x3 grid has 6 subplots but only 5 are needed, so one remains empty.
  2. Step 2: Use axs.flat to iterate all subplots in 1D

    This allows easy indexing over the 2D array of axes.
  3. Step 3: Turn off the extra subplot axis

    Calling axs.flat[5].axis('off') hides the unused subplot.
  4. Final Answer:

    fig, axs = plt.subplots(2, 3) for i in range(5): axs.flat[i].plot([i, i+1, i+2]) axs.flat[5].axis('off') -> Option A
  5. Quick Check:

    Use axs.flat and turn off extra subplot [OK]
Hint: Use axs.flat to index subplots and turn off unused ones [OK]
Common Mistakes:
  • Ignoring extra subplot and leaving it blank
  • Indexing axs as 1D when it's 2D without flat
  • Creating wrong grid shape for number of plots
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