📖 Scenario: You are working as a data analyst. You want to create a simple plot to visualize some data. Before plotting, you need to create a figure and axes using a popular plotting library.
🎯 Goal: Create a figure and axes using matplotlib.pyplot so you can later add plots to the axes.
📋 What You'll Learn
Import matplotlib.pyplot as plt
Create a figure and axes using plt.subplots()
Store the figure in a variable called fig
Store the axes in a variable called ax
💡 Why This Matters
🌍 Real World
Creating figures and axes is the first step in visualizing data in many data science projects.
💼 Career
Data analysts and scientists often create plots to explore and communicate data insights clearly.
Progress0 / 4 steps
1
Import matplotlib.pyplot
Write the import statement to import matplotlib.pyplot as plt.
Data Analysis Python
Hint
Use the syntax import matplotlib.pyplot as plt to import the plotting library.
2
Create figure and axes
Create a figure and axes using plt.subplots(). Assign the figure to a variable called fig and the axes to a variable called ax.
Data Analysis Python
Hint
Use fig, ax = plt.subplots() to create the figure and axes.
3
Check figure and axes types
Write code to print the types of fig and ax using the type() function.
Data Analysis Python
Hint
Use print(type(fig)) and print(type(ax)) to see their types.
4
Display the empty figure
Use the plt.show() function to display the empty figure you created.
Data Analysis Python
Hint
Call plt.show() to open a window with the empty plot.
Practice
(1/5)
1. What does the plt.subplots() function return in matplotlib?
easy
A. A figure and one or more axes objects
B. Only a figure object
C. Only an axes object
D. A list of data points
Solution
Step 1: Understand plt.subplots() purpose
The function is designed to create a figure and axes together for plotting.
Step 2: Check the return values
It returns a tuple: the first is the figure, the second is the axes (single or array).
Final Answer:
A figure and one or more axes objects -> Option A
Quick Check:
plt.subplots() = (figure, axes) [OK]
Hint: Remember plt.subplots() returns figure and axes together [OK]
Common Mistakes:
Thinking it returns only figure or only axes
Confusing axes with data points
Assuming it returns a plot directly
2. Which of the following is the correct syntax to create a figure with 2 rows and 3 columns of axes using matplotlib?
easy
A. fig, axes = plt.subplots(rows=3, cols=2)
B. fig, axes = plt.subplots(2, 3)
C. fig, axes = plt.subplots(3, 2)
D. fig, axes = plt.subplots(2*3)
Solution
Step 1: Recall plt.subplots() parameters
The first argument is number of rows, the second is number of columns.
Step 2: Match the correct order
To create 2 rows and 3 columns, use plt.subplots(2, 3).
Final Answer:
fig, axes = plt.subplots(2, 3) -> Option B
Quick Check:
Rows first, columns second in plt.subplots() [OK]
Hint: Remember rows first, columns second in plt.subplots() [OK]
Common Mistakes:
Swapping rows and columns order
Using keyword arguments incorrectly
Passing a single number instead of two
3. What will be the shape of axes when running fig, axes = plt.subplots(2, 2)?
medium
A. A 2x2 numpy array of AxesSubplot objects
B. A list of 4 AxesSubplot objects
C. A single AxesSubplot object
D. A dictionary of axes objects
Solution
Step 1: Understand axes structure for multiple subplots
When more than one subplot is created, axes is a 2D array matching the grid shape.
Step 2: Check the shape for 2 rows and 2 columns
Axes will be a 2x2 numpy array of AxesSubplot objects.
Final Answer:
A 2x2 numpy array of AxesSubplot objects -> Option A
Step 1: Check the shape of ax from plt.subplots(2, 2)
ax is a 2x2 array of axes, not a single axes object.
Step 2: Understand why ax.plot() fails
Calling plot() on an array causes an AttributeError because arrays don't have plot method.
Final Answer:
ax is an array, so ax.plot() causes an error -> Option C
Quick Check:
Array of axes needs indexing before plot() [OK]
Hint: Index axes array before plotting when multiple subplots exist [OK]
Common Mistakes:
Trying to plot on axes array directly
Assuming plt.subplots(2,2) returns single axes
Ignoring need to index axes for plotting
5. You want to create a figure with 3 subplots stacked vertically and set the figure size to 8 inches wide and 12 inches tall. Which code correctly does this?
hard
A. fig, axes = plt.subplots(1, 3, figsize=(12, 8))
B. fig, axes = plt.subplots(3, figsize=(8, 12))
C. fig, axes = plt.subplots(3, 1, size=(8, 12))
D. fig, axes = plt.subplots(3, 1, figsize=(8, 12))
Solution
Step 1: Determine subplot layout for vertical stacking
3 subplots stacked vertically means 3 rows and 1 column.
Step 2: Set figure size correctly
Use figsize=(width, height) with width=8 and height=12 inches.
Final Answer:
fig, axes = plt.subplots(3, 1, figsize=(8, 12)) -> Option D
Quick Check:
Rows=3, cols=1, figsize=(8,12) [OK]
Hint: Use figsize=(width, height) and rows, columns order [OK]
Common Mistakes:
Swapping rows and columns
Using wrong keyword 'size' instead of 'figsize'
Confusing width and height order
Recommended
Ready to prove it?
Pass the test and this pattern moves unknownstrongwhile earning +1 Grip toward your certificate.