Bird
Raised Fist0
Matplotlibdata~5 mins

Figure and Axes mental model in Matplotlib - Cheat Sheet & Quick Revision

Choose your learning style10 modes available
Recall & Review
beginner
What is a Figure in matplotlib?
A Figure is the whole window or page that holds one or more plots (Axes). Think of it as a blank canvas where you draw your charts.
Click to reveal answer
beginner
What is an Axes in matplotlib?
An Axes is a single plot or graph inside the Figure. It contains the data, labels, ticks, and the actual drawing area.
Click to reveal answer
beginner
How do Figure and Axes relate to each other?
A Figure can have multiple Axes (plots). Each Axes is like a smaller drawing area inside the big Figure canvas.
Click to reveal answer
beginner
Which matplotlib function creates a Figure and Axes together?
The function plt.subplots() creates a Figure and one or more Axes at the same time.
Click to reveal answer
beginner
Why is understanding the Figure and Axes model important?
It helps you control where and how your plots appear, especially when making multiple plots or customizing layouts.
Click to reveal answer
What does a Figure represent in matplotlib?
AThe labels and ticks on a plot
BA single plot or graph
CThe entire window or canvas holding plots
DThe data inside a plot
What is an Axes in matplotlib?
AA single plot or graph inside the Figure
BThe entire canvas for plots
CThe title of the plot
DThe background color of the Figure
Which function creates both Figure and Axes in matplotlib?
Aplt.plot()
Bplt.subplots()
Cplt.figure()
Dplt.show()
Can a Figure have multiple Axes?
AYes, it can have many plots inside
BNo, only one Axes per Figure
COnly if you use plt.figure()
DOnly if you use plt.plot()
Why is the Figure and Axes model useful?
ATo speed up calculations
BTo change Python versions
CTo write text files
DTo control plot layout and appearance
Explain the difference between a Figure and an Axes in matplotlib.
Think of Figure as a page and Axes as pictures on that page.
You got /3 concepts.
    Describe how you would create a Figure with two plots side by side using matplotlib.
    Remember plt.subplots can create multiple Axes at once.
    You got /3 concepts.

      Practice

      (1/5)
      1. What does the Figure represent in matplotlib's Figure and Axes model?
      easy
      A. A single data point on the plot
      B. The area where data points are drawn
      C. The entire image or window that contains all plots
      D. The color scheme of the plot

      Solution

      1. Step 1: Understand the role of Figure

        The Figure is the whole container or window that holds one or more plots.
      2. Step 2: Differentiate Figure from Axes

        Axes is the part inside the Figure where data is drawn, not the entire window.
      3. Final Answer:

        The entire image or window that contains all plots -> Option C
      4. Quick Check:

        Figure = whole window [OK]
      Hint: Figure is the whole plot window, not just the data area [OK]
      Common Mistakes:
      • Confusing Figure with Axes
      • Thinking Figure is a single plot line
      • Mixing Figure with plot colors
      2. Which of the following is the correct way to create a Figure and Axes in matplotlib?
      easy
      A. fig, ax = plt.subplots()
      B. fig = plt.figure(), ax = plt.plot()
      C. ax = plt.figure(), fig = plt.axes()
      D. plt.create_figure(), plt.create_axes()

      Solution

      1. Step 1: Recall matplotlib syntax

        The standard way to create Figure and Axes together is using plt.subplots().
      2. Step 2: Check each option

        fig, ax = plt.subplots() correctly assigns Figure and Axes from plt.subplots(). Others misuse functions or assign incorrectly.
      3. Final Answer:

        fig, ax = plt.subplots() -> Option A
      4. Quick Check:

        Use plt.subplots() to get Figure and Axes [OK]
      Hint: Use plt.subplots() to get both Figure and Axes [OK]
      Common Mistakes:
      • Using plt.plot() to create Axes
      • Confusing plt.figure() with plt.subplots()
      • Trying non-existent functions like plt.create_figure()
      3. What will be the output type of the variable ax after running this code?
      import matplotlib.pyplot as plt
      fig, ax = plt.subplots()
      medium
      A. A matplotlib Figure object
      B. A matplotlib Axes object
      C. A list of Axes objects
      D. A NumPy array

      Solution

      1. Step 1: Understand plt.subplots() return values

        It returns a tuple: (Figure object, Axes object or array of Axes).
      2. Step 2: Check variable assignment

        Here, ax is assigned the second element, which is a single Axes object.
      3. Final Answer:

        A matplotlib Axes object -> Option B
      4. Quick Check:

        ax = Axes object from plt.subplots() [OK]
      Hint: plt.subplots() returns (Figure, Axes) tuple [OK]
      Common Mistakes:
      • Thinking ax is a Figure
      • Assuming ax is a list without multiple plots
      • Confusing Axes with NumPy arrays
      4. Identify the error in this code snippet:
      import matplotlib.pyplot as plt
      fig = plt.figure()
      ax = plt.axes()
      ax.plot([1, 2, 3], [4, 5, 6])
      plt.show()
      medium
      A. plt.axes() should be called on the Figure object
      B. plt.axes() creates a new Figure, not Axes
      C. plt.figure() must be called after plt.axes()
      D. No error, code runs fine

      Solution

      1. Step 1: Understand plt.figure() and plt.axes()

        plt.figure() creates a Figure and sets it as current. plt.axes() creates Axes in the current Figure using default positioning.
      2. Step 2: Verify code execution

        The plot is correctly added to ax and plt.show() displays the figure. The code runs without errors.
      3. Final Answer:

        No error, code runs fine -> Option D
      4. Quick Check:

        plt.axes() adds to current Figure [OK]
      Hint: plt.figure() sets current figure for plt.axes() [OK]
      Common Mistakes:
      • Calling plt.axes() without linking to Figure
      • Assuming plt.axes() auto-links to last Figure
      • Calling plt.figure() after plt.axes()
      5. You want to create a figure with two side-by-side plots sharing the same y-axis. Which code correctly uses the Figure and Axes model to achieve this?
      hard
      A. fig, (ax1, ax2) = plt.subplots(1, 2, sharey=True) ax1.plot([1,2,3], [4,5,6]) ax2.plot([1,2,3], [6,5,4])
      B. fig = plt.figure() ax1 = fig.add_subplot(1, 2, 1) ax2 = fig.add_subplot(1, 2, 2) ax1.sharey(ax2)
      C. fig, ax = plt.subplots(2, 1) ax[0].plot([1,2,3], [4,5,6]) ax[1].plot([1,2,3], [6,5,4])
      D. fig, ax = plt.subplots(1, 2) ax[0].plot([1,2,3], [4,5,6]) ax[1].plot([1,2,3], [6,5,4])

      Solution

      1. Step 1: Understand subplots with shared axes

        Using plt.subplots(1, 2, sharey=True) creates one row, two columns of Axes sharing the y-axis.
      2. Step 2: Check code correctness

        fig, (ax1, ax2) = plt.subplots(1, 2, sharey=True) ax1.plot([1,2,3], [4,5,6]) ax2.plot([1,2,3], [6,5,4]): fig, (ax1, ax2) = plt.subplots(1, 2, sharey=True) ax1.plot([1,2,3], [4,5,6]) ax2.plot([1,2,3], [6,5,4]) correctly unpacks two Axes and plots data with shared y-axis. fig, ax = plt.subplots(1, 2) ax[0].plot([1,2,3], [4,5,6]) ax[1].plot([1,2,3], [6,5,4]) omits sharey=True. fig = plt.figure() ax1 = fig.add_subplot(1, 2, 1) ax2 = fig.add_subplot(1, 2, 2) ax1.sharey(ax2) calls non-existent sharey() method. fig, ax = plt.subplots(2, 1) ax[0].plot([1,2,3], [4,5,6]) ax[1].plot([1,2,3], [6,5,4]) creates vertical subplots.
      3. Final Answer:

        fig, (ax1, ax2) = plt.subplots(1, 2, sharey=True) ax1.plot([1,2,3], [4,5,6]) ax2.plot([1,2,3], [6,5,4]) -> Option A
      4. Quick Check:

        Use sharey=True in plt.subplots() for shared y-axis [OK]
      Hint: Use sharey=True in plt.subplots() for shared y-axis [OK]
      Common Mistakes:
      • Trying to call sharey() on Axes objects
      • Creating vertical subplots instead of horizontal
      • Not unpacking multiple Axes correctly
      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