Bird
Raised Fist0
Data Analysis Pythondata~20 mins

Scatter plots in Data Analysis Python - Practice Problems & Coding Challenges

Choose your learning style10 modes available
Challenge - 5 Problems
🎖️
Scatter Plot Mastery
Get all challenges correct to earn this badge!
Test your skills under time pressure!
❓ Predict Output
intermediate
1:30remaining
Scatter plot point count
What is the number of points plotted by this code?
Data Analysis Python
import matplotlib.pyplot as plt
import numpy as np
x = np.arange(10)
y = x**2
plt.scatter(x, y)
plt.show()
print(len(x))
A0
B9
C11
D10
Attempts:
2 left
💡 Hint
Count how many elements are in the x array.
❓ data_output
intermediate
2:00remaining
Scatter plot color array length
What happens if the color array length does not match the number of points in this scatter plot?
Data Analysis Python
import matplotlib.pyplot as plt
import numpy as np
x = np.arange(5)
y = x * 2
colors = ['red', 'blue']
plt.scatter(x, y, c=colors)
plt.show()
AIgnores colors and plots default color
BPlots points with repeated colors
CRaises ValueError due to mismatch in colors length
DPlots only first two points with colors, others default
Attempts:
2 left
💡 Hint
Check if matplotlib requires color array length to match points.
❓ visualization
advanced
2:30remaining
Scatter plot with size and color mapping
Which option produces a scatter plot where point size and color both vary with data?
Data Analysis Python
import matplotlib.pyplot as plt
import numpy as np
x = np.random.rand(50)
y = np.random.rand(50)
sizes = 100 * x
colors = y
plt.scatter(x, y, s=sizes, c=colors, cmap='viridis')
plt.colorbar()
plt.show()
APoints sized by x values and colored by y values with colorbar
BPoints sized by x values but all colored blue without colorbar
CPoints all same size and colored by x values without colorbar
DPoints sized by y values and colored by x values with colorbar
Attempts:
2 left
💡 Hint
Check which variables control size and color in plt.scatter.
🔧 Debug
advanced
1:30remaining
Identify error in scatter plot code
What error does this code raise?
Data Analysis Python
import matplotlib.pyplot as plt
x = [1, 2, 3]
y = [4, 5]
plt.scatter(x, y)
plt.show()
AValueError: x and y must be the same size
BTypeError: unsupported operand type(s)
CIndexError: list index out of range
DNo error, plots successfully
Attempts:
2 left
💡 Hint
Check if x and y have the same length.
🚀 Application
expert
3:00remaining
Interpreting scatter plot clustering
You have a scatter plot showing two clear clusters of points. What is the best data science interpretation?
AThe scatter plot has an error and points are misplaced
BThe data likely contains two distinct groups or categories
CThe data is uniformly distributed with no pattern
DThe data shows a linear relationship with no clusters
Attempts:
2 left
💡 Hint
Clusters in scatter plots usually indicate groups.

Practice

(1/5)
1. What does a scatter plot primarily show in data analysis?
easy
A. The relationship between two numerical variables
B. The total count of categories
C. The average value of a dataset
D. The sum of all data points

Solution

  1. Step 1: Understand scatter plot purpose

    A scatter plot is used to display how two numerical variables relate to each other by plotting points on a graph.
  2. Step 2: Compare options to definition

    Options B, C, and D describe other chart types or calculations, not relationships between two variables.
  3. Final Answer:

    The relationship between two numerical variables -> Option A
  4. Quick Check:

    Scatter plot = relationship between two numbers [OK]
Hint: Scatter plots always compare two numeric sets [OK]
Common Mistakes:
  • Confusing scatter plots with bar charts
  • Thinking scatter plots show totals or averages
  • Ignoring that scatter plots need two numeric variables
2. Which of the following is the correct way to create a scatter plot using matplotlib in Python?
easy
A. plt.bar(x, y)
B. plt.plot(x, y, kind='scatter')
C. plt.scatterplot(x, y)
D. plt.scatter(x, y)

Solution

  1. Step 1: Recall matplotlib scatter syntax

    Matplotlib uses plt.scatter(x, y) to create scatter plots.
  2. Step 2: Check other options for correctness

    plt.plot(x, y, kind='scatter') is incorrect syntax; plt.plot does not take kind='scatter'. plt.bar(x, y) creates bar charts. plt.scatterplot(x, y) is not a valid matplotlib function.
  3. Final Answer:

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

    Matplotlib scatter = plt.scatter(x, y) [OK]
Hint: Use plt.scatter(x, y) for scatter plots in matplotlib [OK]
Common Mistakes:
  • Using plt.plot with kind='scatter' (wrong syntax)
  • Confusing scatter with bar plot functions
  • Trying to use plt.scatterplot which doesn't exist
3. What will the following code output?
import matplotlib.pyplot as plt
x = [1, 2, 3, 4]
y = [10, 20, 25, 30]
plt.scatter(x, y)
plt.title('Test Plot')
plt.xlabel('X axis')
plt.ylabel('Y axis')
plt.show()
medium
A. An error because plt.scatter requires more arguments
B. A scatter plot with points at (1,10), (2,20), (3,25), (4,30) and labeled axes
C. A bar chart with bars at x positions 1 to 4
D. A line plot connecting points (1,10), (2,20), (3,25), (4,30)

Solution

  1. Step 1: Analyze the code commands

    The code uses plt.scatter(x, y) which plots points at given x and y coordinates. Titles and labels are added correctly.
  2. Step 2: Understand the plot output

    The plot will show points at (1,10), (2,20), (3,25), (4,30) with axis labels and a title. No lines or bars are drawn.
  3. Final Answer:

    A scatter plot with points at (1,10), (2,20), (3,25), (4,30) and labeled axes -> Option B
  4. Quick Check:

    plt.scatter plots points, not lines or bars [OK]
Hint: plt.scatter plots points, not lines or bars [OK]
Common Mistakes:
  • Thinking plt.scatter draws lines between points
  • Confusing scatter plot with bar chart
  • Assuming plt.scatter needs extra arguments
4. Identify the error in this code snippet that tries to create a scatter plot:
import matplotlib.pyplot as plt
x = [1, 2, 3]
y = [4, 5]
plt.scatter(x, y)
plt.show()
medium
A. plt.scatter requires a third argument for color
B. plt.show() is missing parentheses
C. x and y lists have different lengths causing an error
D. No error, code runs fine

Solution

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

    x has 3 elements, y has 2 elements. Scatter plot requires equal length for x and y.
  2. Step 2: Understand matplotlib error behavior

    Matplotlib will raise a ValueError because x and y lengths differ. Options A and C are incorrect because color is optional and plt.show() is correctly called.
  3. Final Answer:

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

    Equal length x and y needed for scatter [OK]
Hint: x and y must be same length for scatter plots [OK]
Common Mistakes:
  • Ignoring length mismatch between x and y
  • Thinking color argument is mandatory
  • Assuming plt.show() can be called without parentheses
5. You have a dataset with columns 'Age' and 'Income'. You want to create a scatter plot to find if older people tend to earn more. Which steps should you follow to create a clear scatter plot in Python using pandas and matplotlib?
hard
A. Import pandas and matplotlib, extract 'Age' and 'Income' columns as x and y, use plt.scatter(x, y), add title and axis labels, then plt.show()
B. Use plt.bar with 'Age' as x and 'Income' as height, then add labels
C. Plot a line graph with 'Age' on x-axis and 'Income' on y-axis without labels
D. Create a pie chart showing distribution of 'Income' grouped by 'Age' categories

Solution

  1. Step 1: Extract relevant columns for scatter plot

    Use pandas to get 'Age' and 'Income' columns as x and y arrays for plotting.
  2. Step 2: Plot scatter and add labels

    Use plt.scatter(x, y) to plot points, add a title and axis labels for clarity, then display with plt.show().
  3. Final Answer:

    Import pandas and matplotlib, extract 'Age' and 'Income' columns as x and y, use plt.scatter(x, y), add title and axis labels, then plt.show() -> Option A
  4. Quick Check:

    Scatter plot with labels = Import pandas and matplotlib, extract 'Age' and 'Income' columns as x and y, use plt.scatter(x, y), add title and axis labels, then plt.show() [OK]
Hint: Extract columns, use plt.scatter, add labels, then show plot [OK]
Common Mistakes:
  • Using bar or pie charts instead of scatter for relationships
  • Skipping axis labels and titles
  • Plotting line graph which implies continuous trend
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