Skip to content

Scatter Plot

Basic scatter plot

Scatter
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()
Scatter
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:

Alpha
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()
Alpha
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

Annotate
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()
Annotate
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()

If this helped you, consider buying me a coffee ☕

Buy me a coffee

Was this page helpful?

Let us know how we did