Bird
Raised Fist0
Matplotlibdata~10 mins

Figure creation with plt.figure in Matplotlib - Step-by-Step Execution

Choose your learning style10 modes available
Concept Flow - Figure creation with plt.figure
Call plt.figure()
↓
Create new Figure object
↓
Figure ready for plotting
↓
Add plots or axes
↓
Show or save figure
This flow shows how calling plt.figure() creates a new empty figure ready for plotting.
Execution Sample
Matplotlib
import matplotlib.pyplot as plt
fig = plt.figure()
print(type(fig))
This code creates a new figure and prints its type to confirm creation.
Execution Table
StepActionEvaluationResult
1Import matplotlib.pyplot as pltModule importedplt module ready
2Call plt.figure()Create new figure object<class 'matplotlib.figure.Figure'>
3Print type(fig)Evaluate type<class 'matplotlib.figure.Figure'>
💡 All steps completed, figure object created and confirmed
Variable Tracker
VariableStartAfter plt.figure()Final
figundefinedFigure objectFigure object
Key Moments - 2 Insights
Why do we assign plt.figure() to a variable?
Assigning plt.figure() to a variable like fig lets us control and modify that specific figure later, as shown in execution_table step 2.
Does plt.figure() display the figure automatically?
No, plt.figure() only creates the figure object. To display it, you need to call plt.show() or save it, which is not shown in the execution sample.
Visual Quiz - 3 Questions
Test your understanding
Look at the execution table, what type is the variable fig after step 2?
Amatplotlib.pyplot
Bmatplotlib.figure.Figure
CNone
Dint
💡 Hint
Check the 'Result' column in step 2 of the execution_table.
At which step is the figure object created?
AStep 2
BStep 3
CStep 1
DNo figure created
💡 Hint
Look at the 'Action' and 'Result' columns in the execution_table.
If we do not assign plt.figure() to a variable, what happens?
AFigure is displayed automatically
BCode will error immediately
CFigure is created but we cannot modify it later easily
DNothing happens
💡 Hint
Refer to key_moments about why assignment is important.
Concept Snapshot
plt.figure() creates a new empty figure object.
Assign it to a variable to modify or add plots.
It does not display the figure automatically.
Use plt.show() to display the figure.
Useful for creating multiple figures in one script.
Full Transcript
This lesson shows how plt.figure() creates a new figure object in matplotlib. First, we import matplotlib.pyplot as plt. Then, calling plt.figure() creates a new empty figure. Assigning it to a variable like fig lets us control it later. Printing type(fig) confirms it is a Figure object. Note that plt.figure() does not display the figure; you must call plt.show() to see it. This method is useful when you want to create multiple figures or customize figures before displaying or saving them.

Practice

(1/5)
1. What does the plt.figure() function do in matplotlib?
easy
A. Plots a line graph directly
B. Creates a new blank canvas for plotting graphs
C. Saves the current plot to a file
D. Displays the plot on the screen

Solution

  1. Step 1: Understand the role of plt.figure()

    The plt.figure() function creates a new empty figure, which is like a blank canvas for drawing plots.
  2. Step 2: Differentiate from other functions

    Functions like plt.plot() draw on the figure, plt.show() displays it, and plt.savefig() saves it. Only plt.figure() creates the blank space.
  3. Final Answer:

    Creates a new blank canvas for plotting graphs -> Option B
  4. Quick Check:

    plt.figure() = new blank canvas [OK]
Hint: Remember: figure = blank canvas for plots [OK]
Common Mistakes:
  • Confusing plt.figure() with plt.plot()
  • Thinking plt.figure() displays the plot
  • Assuming plt.figure() saves the plot
2. Which of the following is the correct way to create a figure with size 8 inches wide and 6 inches tall using plt.figure()?
easy
A. plt.figure(size=(8, 6))
B. plt.figure(dimensions=(8, 6))
C. plt.figure(size=[8, 6])
D. plt.figure(figsize=(8, 6))

Solution

  1. Step 1: Recall the correct parameter name

    The parameter to set figure size is figsize, which takes a tuple of (width, height) in inches.
  2. Step 2: Check the syntax of options

    Only plt.figure(figsize=(8, 6)) uses figsize=(8, 6) correctly. Others use wrong parameter names or data types.
  3. Final Answer:

    plt.figure(figsize=(8, 6)) -> Option D
  4. Quick Check:

    figsize=(width, height) = plt.figure(figsize=(8, 6)) [OK]
Hint: Use figsize=(width, height) tuple inside plt.figure() [OK]
Common Mistakes:
  • Using 'size' instead of 'figsize'
  • Passing list instead of tuple
  • Using wrong parameter names like 'dimensions'
3. What will be the output of this code?
import matplotlib.pyplot as plt
fig = plt.figure(figsize=(4, 3), dpi=100)
print(fig.get_size_inches())
print(fig.dpi)
medium
A. [4 3] 100.0
B. [400 300] 100.0
C. [4. 3.] 100.0
D. [4.0 3.0] 10

Solution

  1. Step 1: Understand figsize and dpi

    The figsize is in inches as a float array, so fig.get_size_inches() returns [4. 3.]. The dpi is dots per inch, set to 100.0.
  2. Step 2: Check print outputs

    Printing fig.get_size_inches() shows floats with decimal points. Printing fig.dpi shows 100.0 as set.
  3. Final Answer:

    [4. 3.] 100.0 -> Option C
  4. Quick Check:

    figsize floats and dpi number = [4. 3.] and 100.0 [OK]
Hint: fig.get_size_inches() returns floats, dpi is float [OK]
Common Mistakes:
  • Expecting integers instead of floats for size
  • Confusing dpi value with size
  • Misreading output format
4. Identify the error in this code snippet:
import matplotlib.pyplot as plt
fig = plt.figure(size=(5, 4))
plt.plot([1, 2, 3], [4, 5, 6])
plt.show()
medium
A. The parameter 'size' is invalid; should be 'figsize'
B. plt.plot() cannot be used after plt.figure()
C. plt.show() is missing parentheses
D. The lists in plt.plot() have different lengths

Solution

  1. Step 1: Check parameter names in plt.figure()

    The correct parameter to set figure size is figsize, not size. Using size causes an error.
  2. Step 2: Verify other parts of the code

    Using plt.plot() after plt.figure() is valid. plt.show() has parentheses. Lists have same length.
  3. Final Answer:

    The parameter 'size' is invalid; should be 'figsize' -> Option A
  4. Quick Check:

    Use figsize= not size= in plt.figure() [OK]
Hint: Use figsize=, not size=, to set figure size [OK]
Common Mistakes:
  • Using 'size' instead of 'figsize'
  • Thinking plt.plot() can't follow plt.figure()
  • Forgetting parentheses in plt.show()
5. You want to create two separate plots in two separate windows. Which code correctly creates two figures and plots a simple line in each?
hard
A. fig1 = plt.figure(figsize=(4,3)) plt.plot([1,2,3],[4,5,6]) fig2 = plt.figure(figsize=(4,3)) plt.plot([1,2,3],[6,5,4]) plt.show()
B. plt.figure(figsize=(8,3)) plt.subplot(1,2,1) plt.plot([1,2,3],[4,5,6]) plt.subplot(1,2,2) plt.plot([1,2,3],[6,5,4]) plt.show()
C. fig = plt.figure(figsize=(8,3)) plt.plot([1,2,3],[4,5,6]) plt.plot([1,2,3],[6,5,4]) plt.show()
D. plt.figure(figsize=(4,3)) plt.plot([1,2,3],[4,5,6]) plt.figure(figsize=(4,3)) plt.plot([1,2,3],[6,5,4])

Solution

  1. Step 1: Understand figure creation for multiple plots

    Creating two separate figures requires calling plt.figure() twice, each time creating a new blank canvas.
  2. Step 2: Check code correctness

    fig1 = plt.figure(figsize=(4,3)) plt.plot([1,2,3],[4,5,6]) fig2 = plt.figure(figsize=(4,3)) plt.plot([1,2,3],[6,5,4]) plt.show() creates two figures with specified sizes and plots on each before showing. plt.figure(figsize=(8,3)) plt.subplot(1,2,1) plt.plot([1,2,3],[4,5,6]) plt.subplot(1,2,2) plt.plot([1,2,3],[6,5,4]) plt.show() uses subplots in one figure, not two figures. fig = plt.figure(figsize=(8,3)) plt.plot([1,2,3],[4,5,6]) plt.plot([1,2,3],[6,5,4]) plt.show() plots both lines on one figure. plt.figure(figsize=(4,3)) plt.plot([1,2,3],[4,5,6]) plt.figure(figsize=(4,3)) plt.plot([1,2,3],[6,5,4]) misses plt.show().
  3. Final Answer:

    fig1 = plt.figure(figsize=(4,3)) plt.plot([1,2,3],[4,5,6]) fig2 = plt.figure(figsize=(4,3)) plt.plot([1,2,3],[6,5,4]) plt.show() -> Option A
  4. Quick Check:

    Two plt.figure() calls = two separate plots [OK]
Hint: Call plt.figure() twice for separate plot windows [OK]
Common Mistakes:
  • Using subplots instead of separate figures
  • Plotting multiple lines on one figure expecting separate windows
  • Forgetting plt.show() to display 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