A scatter plot places one point per pair of values (x, y), so you can see at a glance
whether two variables move together. McKinney uses this exact technique to check
relationships in economic data โ for example, plotting the change in money supply
(m1) against the change in unemployment (unemp) to look for a pattern.
flowchart LR
A["Two numeric columns"] --> B["One point per row: (x, y)"]
B --> C{"Points trend together?"}
C -->|Up-right| D["Positive relationship"]
C -->|Down-right| E["Negative relationship"]
C -->|Scattered| F["Little/no relationship"]
Basic scatter plot
import matplotlib.pyplot as plt
x = [1, 2, 3, 4, 5, 6, 7]
y = [50, 55, 65, 70, 75, 78, 85]
plt.figure(figsize=(7, 4))
plt.scatter(x, y)
plt.title("Hours vs score")
plt.xlabel("Hours")
plt.ylabel("Score")
plt.grid(True, alpha=0.3)
plt.tight_layout()
plt.show()Handle overplotting
Use transparency:
import matplotlib.pyplot as plt
plt.figure(figsize=(7, 4))
plt.scatter(x, y, alpha=0.6)
plt.title("Scatter with alpha")
plt.tight_layout()
plt.show()Annotate points
import matplotlib.pyplot as plt
plt.figure(figsize=(7, 4))
plt.scatter(x, y)
plt.annotate("top", xy=(7, 85), xytext=(6, 88), arrowprops={"arrowstyle": "->"})
plt.title("Annotated scatter")
plt.tight_layout()
plt.show()Visualize it
Each dot below is one (x, y) observation โ watch the cloud of points build up and
notice the upward trend:
๐งช Try It Yourself
Exercise 1 โ Draw a scatter plot
Tab indents. Press Escape, then Tab, to leave the editor. Control plus Enter runs the code; Control plus Shift plus Enter submits it.
Press Run to see what your code prints.Exercise 2 โ Control transparency
Tab indents. Press Escape, then Tab, to leave the editor. Control plus Enter runs the code; Control plus Shift plus Enter submits it.
Press Run to see what your code prints.Exercise 3 โ Annotate a point
Tab indents. Press Escape, then Tab, to leave the editor. Control plus Enter runs the code; Control plus Shift plus Enter submits it.
Press Run to see what your code prints.Check your understanding
What does one point in a scatter plot represent?
Scatter plots show whether two variables move together, one point per observation.
Show answer
A โ One (x, y) pair of values โ Scatter plots show whether two variables move together, one point per observation.
In the Hours vs score example, what pattern do the points show?
The scores climb from 50 to 85 as hours go from 1 to 7, an upward trend.
Show answer
A โ Score rises as hours rise โ The scores climb from 50 to 85 as hours go from 1 to 7, an upward trend.
How does the lesson handle overplotting?
With transparency, overlapping points look darker, which reveals dense regions.
Show answer
A โ Use transparency with alpha, for example alpha=0.6 โ With transparency, overlapping points look darker, which reveals dense regions.
Which function labels one point with an arrow?
annotate takes the text, the point xy, the text position xytext and arrowprops for the arrow style.
Show answer
A โ plt.annotate โ annotate takes the text, the point xy, the text position xytext and arrowprops for the arrow style.
Next
Continue to Pie Chart to see how (and when) to show parts of a whole.