Bird
Raised Fist0
Matplotlibdata~15 mins

Basic scatter plot with plt.scatter in Matplotlib - Mini Project: Build & Apply

Choose your learning style10 modes available
Basic scatter plot with plt.scatter
📖 Scenario: You are a data analyst working with a small dataset of students' study hours and their exam scores. You want to visualize the relationship between study hours and exam scores using a scatter plot.
🎯 Goal: Create a scatter plot using plt.scatter to show how study hours relate to exam scores.
📋 What You'll Learn
Create two lists: study_hours and exam_scores with exact values.
Create a variable point_color to set the color of the scatter points.
Use plt.scatter with the lists and point_color to plot the points.
Display the scatter plot using plt.show().
💡 Why This Matters
🌍 Real World
Scatter plots help visualize relationships between two sets of numbers, like hours studied and exam scores, to find patterns.
💼 Career
Data analysts and scientists use scatter plots to explore data and communicate findings clearly.
Progress0 / 4 steps
1
Create the data lists
Create a list called study_hours with these exact values: [2, 3, 5, 7, 8]. Also create a list called exam_scores with these exact values: [50, 60, 70, 80, 90].
Matplotlib
Hint

Use square brackets [] to create lists with the exact numbers given.

2
Set the color for scatter points
Create a variable called point_color and set it to the string 'blue' to use as the color for the scatter plot points.
Matplotlib
Hint

Assign the string 'blue' to the variable point_color.

3
Create the scatter plot
Import matplotlib.pyplot as plt. Then use plt.scatter with study_hours, exam_scores, and the color set by point_color to create the scatter plot.
Matplotlib
Hint

Use import matplotlib.pyplot as plt at the top. Then call plt.scatter() with the two lists and color=point_color.

4
Display the scatter plot
Use plt.show() to display the scatter plot you created.
Matplotlib
Hint

Call plt.show() to open the window with the scatter plot.

Practice

(1/5)
1. What does the plt.scatter(x, y) function do in matplotlib?
easy
A. It creates a line plot connecting x and y points.
B. It creates a scatter plot showing points for x and y data.
C. It creates a bar chart for x and y values.
D. It creates a histogram of x values only.

Solution

  1. Step 1: Understand the purpose of plt.scatter

    The function plt.scatter is designed to plot individual points based on two lists or arrays, x and y, showing their relationship.
  2. Step 2: Compare with other plot types

    Unlike line plots or bar charts, scatter plots show points without connecting lines or bars.
  3. Final Answer:

    It creates a scatter plot showing points for x and y data. -> Option B
  4. Quick Check:

    Scatter plot = points for x and y [OK]
Hint: Scatter plots show points, not lines or bars [OK]
Common Mistakes:
  • Confusing scatter plot with line plot
  • Thinking it creates bars or histograms
  • Assuming it only plots x values
2. Which of the following is the correct syntax to create a scatter plot with x and y lists (x horizontal, y vertical) using matplotlib?
easy
A. plt.scatter(x, y)
B. plt.scatter(y, x)
C. plt.plot.scatter(x, y)
D. scatter.plot(x, y)

Solution

  1. Step 1: Recall the correct function call

    The correct function to create a scatter plot in matplotlib is plt.scatter(x, y), where x and y are data lists.
  2. Step 2: Identify incorrect syntax

    Options with reversed arguments or wrong method chaining like plt.plot.scatter or scatter.plot are invalid.
  3. Final Answer:

    plt.scatter(x, y) -> Option A
  4. Quick Check:

    Correct syntax = plt.scatter(x, y) [OK]
Hint: Use plt.scatter(x, y) exactly for scatter plots [OK]
Common Mistakes:
  • Swapping x and y arguments
  • Using plt.plot.scatter instead of plt.scatter
  • Calling scatter on wrong object
3. What will be the output of this code?
import matplotlib.pyplot as plt
x = [1, 2, 3]
y = [4, 5, 6]
plt.scatter(x, y)
plt.show()
medium
A. An error because plt.show() is missing.
B. A line plot connecting points (1,4), (2,5), and (3,6).
C. A scatter plot with points at (1,4), (2,5), and (3,6).
D. A bar chart with bars at x positions 1, 2, 3.

Solution

  1. Step 1: Understand plt.scatter with given data

    The code plots points at coordinates from lists x and y: (1,4), (2,5), and (3,6).
  2. Step 2: Confirm plt.show() displays the plot

    The plt.show() command displays the scatter plot window with these points.
  3. Final Answer:

    A scatter plot with points at (1,4), (2,5), and (3,6). -> Option C
  4. Quick Check:

    Scatter plot points = (1,4), (2,5), (3,6) [OK]
Hint: Scatter plots show points at (x[i], y[i]) pairs [OK]
Common Mistakes:
  • Thinking plt.scatter creates line plots
  • Assuming plt.show() is optional and causes error
  • Confusing scatter with bar chart
4. Identify the error in this code snippet:
import matplotlib.pyplot as plt
x = [1, 2, 3]
y = [4, 5]
plt.scatter(x, y)
plt.show()
medium
A. plt.scatter requires numpy arrays, not lists.
B. The code is correct and runs without error.
C. plt.show() is missing to display the plot.
D. x and y lists have different lengths causing an error.

Solution

  1. Step 1: Check lengths of x and y lists

    The x list has 3 elements, but y has only 2 elements. This mismatch causes plt.scatter to raise a ValueError.
  2. Step 2: Understand plt.scatter input requirements

    Both x and y must have the same number of points to plot pairs correctly.
  3. Final Answer:

    x and y lists have different lengths causing an error. -> Option D
  4. Quick Check:

    Equal length x and y needed [OK]
Hint: x and y must be same length for scatter plot [OK]
Common Mistakes:
  • Ignoring length mismatch of x and y
  • Thinking plt.scatter needs numpy arrays only
  • Assuming plt.show() missing causes error
5. You want to plot points with x = [1, 2, 3, 4] and y = [10, 20, 30, 40], but color points red if y > 25 and blue otherwise. Which code correctly does this?
hard
A. colors = ['red' if val > 25 else 'blue' for val in y] plt.scatter(x, y, c=colors) plt.show()
B. plt.scatter(x, y, color=['red' if y > 25 else 'blue']) plt.show()
C. plt.scatter(x, y, c='red' if y > 25 else 'blue') plt.show()
D. colors = ['red' if x > 25 else 'blue' for x in x] plt.scatter(x, y, c=colors) plt.show()

Solution

  1. Step 1: Create color list based on y values

    We use a list comprehension to assign 'red' if y value is greater than 25, else 'blue'. This creates a color list matching each point.
  2. Step 2: Pass color list to plt.scatter with c parameter

    Using c=colors applies the color list to points correctly. Then plt.show() displays the plot.
  3. Final Answer:

    colors = ['red' if val > 25 else 'blue' for val in y] plt.scatter(x, y, c=colors) plt.show() -> Option A
  4. Quick Check:

    Use list comprehension for colors, pass as c=colors [OK]
Hint: Use list comprehension for colors, pass with c=colors [OK]
Common Mistakes:
  • Using 'color' instead of 'c' parameter
  • Passing single color string instead of list
  • Checking condition on x instead of y
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