Bird
Raised Fist0
Matplotlibdata~5 mins

Figure creation with plt.figure in Matplotlib

Choose your learning style10 modes available
Introduction

We use plt.figure to create a new drawing space for our charts. It helps us organize and control how our plots look.

When you want to make multiple separate charts in one program.
When you need to set the size or resolution of a plot before drawing.
When you want to clear old plots and start fresh with a new figure.
When you want to save a plot with specific dimensions or quality.
When you want to add multiple plots side by side in different figures.
Syntax
Matplotlib
plt.figure(num=None, figsize=None, dpi=None, facecolor=None, edgecolor=None, tight_layout=False)

num gives the figure a number or name to identify it.

figsize sets the width and height in inches (like size of paper).

Examples
Creates a new default figure with default size and settings.
Matplotlib
plt.figure()
Creates a figure 8 inches wide and 6 inches tall.
Matplotlib
plt.figure(figsize=(8, 6))
Creates or selects figure number 2 with 100 dots per inch resolution.
Matplotlib
plt.figure(num=2, dpi=100)
Sample Program

This code creates a new figure with a size of 6 by 4 inches, draws a simple line plot, adds a title, and then shows the plot.

Matplotlib
import matplotlib.pyplot as plt

# Create a figure with size 6x4 inches
plt.figure(figsize=(6, 4))

# Plot a simple line
plt.plot([1, 2, 3], [4, 5, 6])

# Add title
plt.title('Simple Line Plot')

# Show the plot
plt.show()
OutputSuccess
Important Notes

Calling plt.figure() without arguments creates a new figure with default size.

You can create multiple figures by calling plt.figure() multiple times with different num or figsize.

Use plt.show() to display all created figures.

Summary

plt.figure creates a new drawing space for your plots.

You can control size and resolution with figsize and dpi.

Use it to organize multiple plots or customize plot appearance before drawing.

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