Bird
Raised Fist0
Matplotlibdata~5 mins

Multiple legends in Matplotlib - Cheat Sheet & Quick Revision

Choose your learning style10 modes available
Recall & Review
beginner
What is the purpose of having multiple legends in a matplotlib plot?
Multiple legends help to clearly explain different groups or types of data in the same plot, making it easier to understand complex visuals.
Click to reveal answer
intermediate
How do you create a second legend in matplotlib after the first one?
You create the first legend normally, then save its reference. For the second legend, you use ax.legend() again with different handles and labels, and add it to the axes with ax.add_artist().
Click to reveal answer
intermediate
What does ax.add_artist() do in the context of multiple legends?
It adds the second legend as an artist to the axes, so both legends can appear on the same plot without replacing each other.
Click to reveal answer
beginner
Why might you want to use multiple legends instead of combining all labels into one legend?
Multiple legends allow grouping related items separately, improving clarity when different data types or categories need distinct explanations.
Click to reveal answer
beginner
Which matplotlib object typically holds the legend in a plot?
The legend is an artist object attached to the axes, often returned by ax.legend().
Click to reveal answer
What function do you call to create a legend in matplotlib?
Aax.legend()
Bplt.plot()
Cax.title()
Dplt.show()
How do you add a second legend to a matplotlib plot without removing the first?
ACall ax.legend() twice and use ax.add_artist() for the second
BCall plt.legend() twice only
CUse plt.show() twice
DCreate two separate plots
What does the handles parameter in ax.legend(handles=...) specify?
AThe size of the plot
BThe title of the plot
CWhich plot elements to include in the legend
DThe color of the plot lines
Why is it important to use ax.add_artist() when adding a second legend?
ATo change the plot title
BTo keep both legends visible on the same axes
CTo remove the first legend
DTo save the plot as an image
Which of these is NOT a reason to use multiple legends?
ATo group different data categories separately
BTo explain different plot elements distinctly
CTo improve plot clarity
DTo confuse the viewer
Explain how to add multiple legends to a matplotlib plot and why it might be useful.
Think about how to keep both legends visible and why separate explanations help.
You got /5 concepts.
    Describe the role of the handles and labels parameters when creating legends in matplotlib.
    Handles and labels work together to define legend content.
    You got /4 concepts.

      Practice

      (1/5)
      1. What is the main reason to use multiple legends in a matplotlib plot?
      easy
      A. To increase the plot size automatically
      B. To change the color of the plot lines
      C. To label different groups or data sets separately on the same plot
      D. To save the plot as an image file

      Solution

      1. Step 1: Understand the purpose of legends

        Legends help identify what each line or marker in a plot represents.
      2. Step 2: Recognize why multiple legends are needed

        When a plot has multiple groups or categories, separate legends make it easier to understand each group distinctly.
      3. Final Answer:

        To label different groups or data sets separately on the same plot -> Option C
      4. Quick Check:

        Multiple legends = separate group labels [OK]
      Hint: Multiple legends label different groups clearly [OK]
      Common Mistakes:
      • Thinking legends change plot colors
      • Confusing legends with saving files
      • Assuming legends resize plots
      2. Which matplotlib method is used to keep the first legend visible when adding a second legend?
      easy
      A. ax.add_artist()
      B. plt.show()
      C. plt.legend()
      D. ax.set_title()

      Solution

      1. Step 1: Identify how legends are added

        Legends are usually added with plt.legend() or ax.legend().
      2. Step 2: Understand how to keep multiple legends

        To keep the first legend visible after adding a second, you must add the first legend as an artist using ax.add_artist().
      3. Final Answer:

        ax.add_artist() -> Option A
      4. Quick Check:

        Keep first legend visible = add_artist() [OK]
      Hint: Use add_artist() to keep first legend visible [OK]
      Common Mistakes:
      • Using plt.legend() twice without add_artist()
      • Calling plt.show() to fix legends
      • Trying to set title to fix legends
      3. What will the following code display?
      import matplotlib.pyplot as plt
      fig, ax = plt.subplots()
      line1, = ax.plot([1, 2, 3], label='Line 1')
      line2, = ax.plot([3, 2, 1], label='Line 2')
      leg1 = ax.legend(handles=[line1], loc='upper left')
      ax.add_artist(leg1)
      ax.legend(handles=[line2], loc='upper right')
      plt.show()
      medium
      A. Two legends: 'Line 1' at upper left and 'Line 2' at upper right
      B. Only one legend showing 'Line 2' at upper right
      C. Only one legend showing 'Line 1' at upper left
      D. No legends displayed

      Solution

      1. Step 1: Analyze legend creation

        The first legend is created for 'Line 1' and added as an artist to keep it visible.
      2. Step 2: Analyze second legend addition

        The second legend is created for 'Line 2' and placed at upper right. Both legends appear separately.
      3. Final Answer:

        Two legends: 'Line 1' at upper left and 'Line 2' at upper right -> Option A
      4. Quick Check:

        add_artist() + second legend = two legends [OK]
      Hint: add_artist() keeps first legend when adding second [OK]
      Common Mistakes:
      • Expecting only one legend to show
      • Forgetting to add_artist() for first legend
      • Placing both legends at same location
      4. Identify the error in this code that tries to add two legends:
      import matplotlib.pyplot as plt
      fig, ax = plt.subplots()
      line1, = ax.plot([1, 2, 3], label='A')
      line2, = ax.plot([3, 2, 1], label='B')
      ax.legend(handles=[line1], loc='upper left')
      ax.legend(handles=[line2], loc='upper right')
      plt.show()
      medium
      A. Syntax error due to missing parentheses
      B. Second legend call overwrites the first, so only one legend shows
      C. Plot lines are not labeled correctly
      D. The plot will not display because plt.show() is missing

      Solution

      1. Step 1: Understand legend behavior

        Calling ax.legend() twice replaces the previous legend each time.
      2. Step 2: Identify why only one legend appears

        Without using ax.add_artist(), the first legend is removed when the second is added.
      3. Final Answer:

        Second legend call overwrites the first, so only one legend shows -> Option B
      4. Quick Check:

        Multiple legend calls overwrite without add_artist() [OK]
      Hint: Use add_artist() to keep multiple legends visible [OK]
      Common Mistakes:
      • Assuming multiple legend() calls stack automatically
      • Thinking missing plt.show() causes no plot
      • Believing labels cause syntax errors
      5. You want to plot three data groups with separate legends placed at 'upper left', 'upper right', and 'lower left' without overlap. Which approach correctly achieves this?
      hard
      A. Plot all lines without legends and add a single legend manually
      B. Call ax.legend() three times without add_artist(), changing loc each time
      C. Use plt.legend() once with all labels combined
      D. Create first legend, add it with ax.add_artist(), then create second and third legends with different loc values

      Solution

      1. Step 1: Understand legend placement

        Legends placed at different loc positions avoid overlap visually.
      2. Step 2: Use add_artist() to keep multiple legends

        Adding the first legend as an artist keeps it visible when adding others.
      3. Step 3: Create all three legends with distinct locations

        Creating legends separately with loc set to 'upper left', 'upper right', and 'lower left' places them without overlap.
      4. Final Answer:

        Create first legend, add it with ax.add_artist(), then create second and third legends with different loc values -> Option D
      5. Quick Check:

        add_artist() + distinct loc = multiple legends no overlap [OK]
      Hint: Add first legend as artist, set loc differently for others [OK]
      Common Mistakes:
      • Calling legend() multiple times without add_artist()
      • Placing all legends at same location causing overlap
      • Using single legend for all groups losing clarity
      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