Bird
Raised Fist0
Matplotlibdata~10 mins

Combining Seaborn and Matplotlib - Interactive Code Practice

Choose your learning style10 modes available

Start learning this pattern below

Jump into concepts and practice - no test required

or
Recommended
Test this pattern10 questions across easy, medium, and hard to know if this pattern is strong
Practice - 5 Tasks
Answer the questions below
1fill in blank
easy

Complete the code to import seaborn with its common alias.

Matplotlib
import [1] as sns
Drag options to blanks, or click blank then click option'
Aplt
Bsns
Cmatplotlib
Dseaborn
Attempts:
3 left
💡 Hint
Common Mistakes
Using the alias name instead of the package name in the import.
Confusing matplotlib alias with seaborn.
2fill in blank
medium

Complete the code to create a matplotlib figure and axis.

Matplotlib
fig, [1] = plt.subplots()
Drag options to blanks, or click blank then click option'
Aaxes
Bax
Cplot
Dfigure
Attempts:
3 left
💡 Hint
Common Mistakes
Using figure or axes instead of ax.
Using plot which is a function, not a variable.
3fill in blank
hard

Fix the error in the code to plot a seaborn scatterplot on the matplotlib axis.

Matplotlib
sns.scatterplot(data=df, x='total_bill', y='tip', ax=[1])
Drag options to blanks, or click blank then click option'
Aax
Bplt
Cfigure
Daxes
Attempts:
3 left
💡 Hint
Common Mistakes
Passing plt or figure instead of the axis.
Not passing the axis at all.
4fill in blank
hard

Fill both blanks to set the title and label the x-axis using matplotlib on the axis object.

Matplotlib
[1].set_title('Total Bill vs Tip')
[2].set_xlabel('Total Bill ($)')
Drag options to blanks, or click blank then click option'
Aax
Bplt
Cfigure
Ddf
Attempts:
3 left
💡 Hint
Common Mistakes
Using plt instead of ax.
Using the dataframe variable df.
5fill in blank
hard

Fill all three blanks to create a seaborn histogram on a matplotlib axis, set the title, and show the plot.

Matplotlib
fig, [1] = plt.subplots()
sns.histplot(data=df, x='total_bill', ax=[2])
[3].set_title('Histogram of Total Bill')
plt.show()
Drag options to blanks, or click blank then click option'
Aax
Dfigure
Attempts:
3 left
💡 Hint
Common Mistakes
Using figure instead of ax for the axis.
Not passing the axis to seaborn.

Practice

(1/5)
1. What is the main reason to combine Seaborn and Matplotlib in a plot?
easy
A. Seaborn and Matplotlib cannot be used together
B. Because Seaborn cannot create any plots on its own
C. Matplotlib is only for 3D plots, so Seaborn is needed for 2D
D. To use Seaborn's easy plotting and Matplotlib's customization features

Solution

  1. Step 1: Understand Seaborn's strength

    Seaborn creates beautiful and easy statistical plots quickly.
  2. Step 2: Understand Matplotlib's strength

    Matplotlib allows detailed customization like adding titles, labels, and lines.
  3. Final Answer:

    To use Seaborn's easy plotting and Matplotlib's customization features -> Option D
  4. Quick Check:

    Seaborn + Matplotlib = Easy + Customization [OK]
Hint: Seaborn plots, Matplotlib customizes [OK]
Common Mistakes:
  • Thinking Seaborn can't plot alone
  • Believing Matplotlib is only for 3D
  • Assuming they can't be combined
2. Which of the following code snippets correctly adds a title to a Seaborn plot using Matplotlib?
easy
A.
import seaborn as sns
import matplotlib.pyplot as plt
sns.histplot(data)
plt.title('Histogram')
B.
import seaborn as sns
sns.histplot(data).title('Histogram')
C.
import matplotlib.pyplot as plt
plt.histplot(data)
plt.set_title('Histogram')
D.
import seaborn as sns
sns.histplot(data)
plt.setTitle('Histogram')

Solution

  1. Step 1: Identify correct Seaborn and Matplotlib usage

    Seaborn creates the plot, Matplotlib's plt.title() adds the title.
  2. Step 2: Check syntax correctness

    import seaborn as sns
    import matplotlib.pyplot as plt
    sns.histplot(data)
    plt.title('Histogram')
    uses sns.histplot(data) then plt.title('Histogram'), which is correct.
  3. Final Answer:

    import seaborn as sns import matplotlib.pyplot as plt sns.histplot(data) plt.title('Histogram') -> Option A
  4. Quick Check:

    Seaborn plot + plt.title() = Correct [OK]
Hint: Use plt.title() after Seaborn plot [OK]
Common Mistakes:
  • Calling title() directly on Seaborn plot object
  • Using plt.set_title() instead of plt.title()
  • Misspelling method names like setTitle
3. What will be the output of this code?
import seaborn as sns
import matplotlib.pyplot as plt

sns.scatterplot(x=[1,2,3], y=[4,5,6])
plt.xlabel('X axis')
plt.ylabel('Y axis')
plt.title('Scatter Plot')
plt.show()
medium
A. A scatter plot with labeled X axis, Y axis, and title
B. A scatter plot without any labels or title
C. An error because plt.xlabel() cannot be used with Seaborn
D. A line plot instead of scatter plot

Solution

  1. Step 1: Understand the plot creation

    sns.scatterplot creates a scatter plot with given x and y points.
  2. Step 2: Check Matplotlib label and title additions

    plt.xlabel, plt.ylabel, and plt.title add labels and title correctly.
  3. Final Answer:

    A scatter plot with labeled X axis, Y axis, and title -> Option A
  4. Quick Check:

    Seaborn plot + plt labels = Labeled plot [OK]
Hint: Matplotlib labels work after Seaborn plot [OK]
Common Mistakes:
  • Expecting errors using plt.xlabel with Seaborn
  • Confusing scatterplot with line plot
  • Forgetting plt.show() to display plot
4. Identify the error in this code that tries to combine Seaborn and Matplotlib:
import seaborn as sns
import matplotlib.pyplot as plt

sns.boxplot(data=[1,2,3,4,5])
plt.xlabel('Values')
plt.title('Boxplot')
plt.show()
medium
A. plt.xlabel() causes error because boxplot has no x-axis
B. No error; code runs and shows labeled boxplot
C. Missing plt.figure() before plotting causes error
D. sns.boxplot requires x and y parameters, so data alone causes error

Solution

  1. Step 1: Check sns.boxplot usage

    Passing data as a list is valid for sns.boxplot; it plots distribution.
  2. Step 2: Check Matplotlib label usage

    plt.xlabel('Values') adds label to x-axis; plt.title adds title; no error occurs.
  3. Final Answer:

    No error; code runs and shows labeled boxplot -> Option B
  4. Quick Check:

    Seaborn boxplot + plt labels = Works fine [OK]
Hint: Boxplot accepts data list; plt.xlabel works [OK]
Common Mistakes:
  • Thinking plt.xlabel errors without x parameter
  • Assuming plt.figure() is mandatory before plot
  • Believing sns.boxplot needs x and y always
5. You want to create a Seaborn barplot and add a horizontal line at y=5 using Matplotlib. Which code correctly does this?
hard
A.
import seaborn as sns
import matplotlib.pyplot as plt
sns.barplot(x=['A','B'], y=[3,7])
plt.hline(y=5, color='red')
plt.show()
B.
import seaborn as sns
import matplotlib.pyplot as plt
sns.barplot(x=['A','B'], y=[3,7])
plt.lineh(y=5, color='red')
plt.show()
C.
import seaborn as sns
import matplotlib.pyplot as plt
sns.barplot(x=['A','B'], y=[3,7])
plt.axhline(y=5, color='red')
plt.show()
D.
import seaborn as sns
import matplotlib.pyplot as plt
sns.barplot(x=['A','B'], y=[3,7])
plt.axline(y=5, color='red')
plt.show()

Solution

  1. Step 1: Create barplot with Seaborn

    sns.barplot with x and y lists creates the bar chart correctly.
  2. Step 2: Add horizontal line with Matplotlib

    plt.axhline(y=5, color='red') adds a horizontal line at y=5; other options are invalid methods.
  3. Final Answer:

    import seaborn as sns import matplotlib.pyplot as plt sns.barplot(x=['A','B'], y=[3,7]) plt.axhline(y=5, color='red') plt.show() -> Option C
  4. Quick Check:

    Use plt.axhline() for horizontal line [OK]
Hint: Use plt.axhline() for horizontal lines [OK]
Common Mistakes:
  • Using plt.lineh or plt.hline which don't exist
  • Confusing plt.axline with plt.axhline
  • Forgetting plt.show() to display plot