bonjour
je ne suis pas fan de la façon dont tu as défini les fonctions f et prime...
pour les couleurs :
tu as 2 listes :
- pour les abscisses : un array, donc une liste indicée, par linspace
- pour les ordonnées : une liste par compréhension, complétée dans l'ordre des 2000 abscisses
je n'ai pas essayé, mais il me semble que tu peux jouer avec ces 2 listes X et Y et les indices,
pour les scinder en 4 listes, que j'appelle (abusivement, pour les x)
x_neg et y_neg
x_pos et y_pos
---
il y a une autre façon de faire : dans le return, renvoyer un couple plutôt que l'ordonnée seule :
return (r,l/n)
donc Y est ta liste de tous les points
reste à scinder, en utilisant les listes par compréhension munie d'une condition
par ex, pour les y<0 :
x_neg = [a for (a,b) in Y if b<=0]
y_neg = [b for (a,b) in Y if b<=0]
idem pour x_pos et y_pos
enfin, pour l'affichage :
plt.scatter(x_neg,y_neg, s=1,c='black')
et sa petite soeur en rouge pour les positifs
