Tracez une petite image sous le diagramme de dispersion, avec un entier indiquant la couleur de la mosaïque. Vous pouvez ensuite utiliser pcolor pour tracer l'image, avec edgecolors pour définir les bordures. Le code ci-dessous le fait, avec la couleur de la cellule définie comme le maximum de l'indice de cellule i, j, qui correspond à votre grille.
import numpy as np
import matplotlib.pyplot as plt
# define grid
nx, ny = 6, 5
x, y = np.arange(nx), np.arange(ny)
xx, yy = np.meshgrid(x, y)
z = np.maximum(xx, yy)
# create random points
npoints = 30
data_x = 10**(np.random.rand(npoints)*nx)
data_y = 10**(np.random.rand(npoints)*ny-1)
# plot grid then points
plt.pcolor(10.**x, 10.**(y-1), z, edgecolors='k')
plt.loglog(data_x, data_y, '.w')
plt.axis([1,10**5,0.1,10**3])
plt.show()
Notez que vous pouvez également utiliser zorder = n pour forcer le nuage de points au-dessus de l'image.
Veuillez écrire le code qui génère le tracé d'origine. – fjarri