Comment placer un nuage de points devant une droite avec matplotlib ?

Published: 20 mars 2017

DMCA.com Protection Status

Par défaut avec matplotlib, si on trace une droite et un nuage de points, les points sont placés en arrière-plan:

Tracer un nuage de points devant une droite avec matplotlib (1/2) (line in background)
Tracer un nuage de points devant une droite avec matplotlib (1/2) (line in background)

import matplotlib.pyplot as plt

x = [1,2,3,4,5,6,7,8,9]
y = [1,2,3,4,5,6,7,8,9]

plt.plot([0,10],[0,10])
plt.scatter(x,y,s=300,color='red')

plt.title("Tracer un nuage de points devant une droite")
plt.grid()

plt.savefig("scatter_points_order_01.png", bbox_inches='tight')
plt.show()
plt.close()

Si on veut les points devant la droite il faut utiliser l'option zorder

Tracer un nuage de points devant une droite avec matplotlib (2/2) (line in background)
Tracer un nuage de points devant une droite avec matplotlib (2/2) (line in background)

import matplotlib.pyplot as plt

x = [1,2,3,4,5,6,7,8,9]
y = [1,2,3,4,5,6,7,8,9]

plt.plot([0,10],[0,10],zorder=1)
plt.scatter(x,y,s=300,color='red',zorder=2)

plt.title("Tracer un nuage de points devant une droite")
plt.grid()

plt.savefig("scatter_points_order_02.png", bbox_inches='tight')
plt.show()

L'option zorder permet de définir un ordre: zorder=n+1 est devant zorder=n .

Références

Image

of