import matplotlib.pyplot as plt
import matplotlib.cm as cm
import numpy as np
import random
fig = plt.figure()
fig.subplots_adjust(bottom=0.2)
ax = fig.add_subplot(111)
N = 3 * 10 ** 6
delta = np.random.normal(size=N)
vf = np.random.normal(size=N)
dS = np.random.normal(size=N)
idx = random.sample(list(range(N)), 1000)
plt.scatter(delta[idx], vf[idx], c=dS[idx], alpha=0.7, cmap=cm.Paired)
plt.show()
Scatter plot with a huge amount of data