Code
matplotlib
import matplotlib.pyplot as plt
import numpy as np
n = 50
x = np.random.rand(n)
y = 2 * x + np.random.randn(n) * 0.1
sizes = np.random.rand(n) * 200
colors = np.random.rand(n)
plt.scatter(x, y, s=sizes, c=colors, cmap="viridis",
alpha=0.6, edgecolors="black")
plt.colorbar(label="intensity")
plt.xlabel("x")
plt.ylabel("y")
plt.title("Scatter with size and color")
plt.show()