Diagrammes de dispersion Matplotlib
Nous pouvons utiliser la méthode scatter() dans pyplot pour tracer des diagrammes de dispersion.
La syntaxe de la méthode scatter() est la suivante :
matplotlib.pyplot.scatter(x, y, s=None, c=None, marker=None, cmap=None, norm=None, vmin=None, vmax=None, alpha=None, linewidths=None, *, edgecolors=None, plotnonfinite=False, data=None, **kwargs)
Description du paramètre :
x,y: tableaux de même longueur, qui sont les points de données que nous allons tracer, données d'entrée.
s: taille des points, par défaut 20, peut aussi être un tableau, où chaque paramètre du tableau est la taille du point correspondant.
c: couleur des points, par défaut bleu 'b', peut aussi être un tableau ligne bidimensionnel RGB ou RGBA.
marker: style de point, par défaut petit cercle 'o'.
cmap: Colormap, par défaut None, un scalaire ou le nom d'une colormap, uniquement utilisé lorsque c est un tableau de flottants. S'il n'est pas déclaré, il s'agit de image.cmap.
norm: Normalize, par défaut None, luminosité des données entre 0 et 1, utilisé uniquement lorsque c est un tableau de nombres à virgule flottante.
vmin, vmax :réglage de la luminosité, ignoré lorsque le paramètre norm existe.
alpha :réglage de la transparence, entre 0 et 1, par défaut None, ce qui signifie opaque.
linewidths :longueur du point de marqueur.
edgecolors :couleur ou séquence de couleurs, par défaut 'face', les valeurs optionnelles sont 'face', 'none', None.
plotnonfinite :valeur booléenne, définit s'il faut dessiner des points en utilisant c non qualifié (inf, -inf ou nan).
**kwargs :autres paramètres.
L'exemple suivant transmet des tableaux de même longueur à la fonction scatter(), l'un pour les valeurs de l'axe des x et l'autre pour les valeurs de l'axe des y :
Exemple
import numpy as np
x = np.array([1, 2, 3, 4, 5, 6, 7, 8])
y = np.array([1, 4, 9, 16, 7, 11, 23, 18])
plt.scatter(x, y)
plt.show()
Le résultat affiché est le suivant :

Définir la taille des marqueurs :
Exemple
import numpy as np
x = np.array([1, 2, 3, 4, 5, 6, 7, 8])
y = np.array([1, 4, 9, 16, 7, 11, 23, 18])
sizes = np.array([20,50,100,200,500,1000,60,90])
plt.scatter(x, y, s=sizes)
plt.show()
Le résultat affiché est le suivant :

Personnalisez la couleur des points :
Exemple
import numpy as np
x = np.array([1, 2, 3, 4, 5, 6, 7, 8])
y = np.array([1, 4, 9, 16, 7, 11, 23, 18])
colors = np.array(["red","green","black","orange","purple","beige","cyan","magenta"])
plt.scatter(x, y, c=colors)
plt.show()
Le résultat affiché est le suivant :

Tracez deux ensembles de nuages de points :
Exemple
import numpy as np
x = np.array([5,7,8,7,2,17,2,9,4,11,12,9,6])
y = np.array([99,86,87,88,111,86,103,87,94,78,77,85,86])
plt.scatter(x, y, color = 'hotpink')
x = np.array([2,2,8,1,15,8,12,9,7,3,11,4,7,14,12])
y = np.array([100,105,84,105,90,99,90,95,94,100,79,112,91,80,85])
plt.scatter(x, y, color = '#6F9CC9')
plt.show()
Le résultat affiché est le suivant :

Utilisez des nombres aléatoires pour définir le nuage de points :
Exemple
import matplotlib.pyplot as plt
# Graine pour le générateur de nombres aléatoires
np.random.seed(19680801)
N = 50
x = np.random.rand(N)
y = np.random.rand(N)
colors = np.random.rand(N)
area = (30 * np.random.rand(N))**2 # rayons des points de 0 à 15
plt.scatter(x, y, s=area, c=colors, alpha=0.5) # Définir la couleur et la transparence
plt.title("EXAMPLE Scatter Test") # Définir le titre
plt.show()
Le résultat affiché est le suivant :

Palette de couleurs de la barre de couleurs
Le module Matplotlib fournit de nombreuses barres de couleurs disponibles.
Une barre de couleurs est comme une liste de couleurs, où chaque couleur a une valeur allant de 0 à 100.
Voici un exemple de barre de couleurs :

Pour définir une barre de couleurs, vous devez utiliser le paramètre cmap, avec la valeur par défaut 'viridis', puis définir les valeurs de couleur sur un tableau allant de 0 à 100.
Exemple
import numpy as np
x = np.array([5,7,8,7,2,17,2,9,4,11,12,9,6])
y = np.array([99,86,87,88,111,86,103,87,94,78,77,85,86])
colors = np.array([0, 10, 20, 30, 40, 45, 50, 55, 60, 70, 80, 90, 100])
plt.scatter(x, y, c=colors, cmap='viridis')
plt.show()
Le résultat affiché est le suivant :

Si vous voulez afficher la barre de couleurs, vous devez utiliser la méthodeplt.colorbar():
Exemple
import numpy as np
x = np.array([5,7,8,7,2,17,2,9,4,11,12,9,6])
y = np.array([99,86,87,88,111,86,103,87,94,78,77,85,86])
colors = np.array([0, 10, 20, 30, 40, 45, 50, 55, 60, 70, 80, 90, 100])
plt.scatter(x, y, c=colors, cmap='viridis')
plt.colorbar()
plt.show()
Le résultat affiché est le suivant :

Utilisez un paramètre de barre de couleurs différent, définissez cmap surafmhot_r:
Exemple
import numpy as np
x = np.array([5,7,8,7,2,17,2,9,4,11,12,9,6])
y = np.array([99,86,87,88,111,86,103,87,94,78,77,85,86])
colors = np.array([0, 10, 20, 30, 40, 45, 50, 55, 60, 70, 80, 90, 100])
plt.scatter(x, y, c=colors, cmap='afmhot_r')
plt.colorbar()
plt.show()
Le résultat affiché est le suivant :

Les valeurs du paramètre colorbar peuvent être les suivantes :
| Noms de couleurs | Mots-clés réservés | |
|---|---|---|
| Accent | Accent_r | |
| Blues | Blues_r | |
| BrBG | BrBG_r | |
| BuGn | BuGn_r | |
| BuPu | BuPu_r | |
| CMRmap | CMRmap_r | |
| Dark2 | Dark2_r | |
| GnBu | GnBu_r | |
| Greens | Greens_r | |
| Greys | Greys_r | |
| OrRd | OrRd_r | |
| Oranges | Oranges_r | |
| PRGn | PRGn_r | |
| Paired | Paired_r | |
| Pastel1 | Pastel1_r | |
| Pastel2 | Pastel2_r | |
| PiYG | PiYG_r | |
| PuBu | PuBu_r | |
| PuBuGn | PuBuGn_r | |
| PuOr | PuOr_r | |
| PuRd | PuRd_r | |
| Purples | Purples_r | |
| RdBu | RdBu_r | |
| RdGy | RdGy_r | |
| RdPu | RdPu_r | |
| RdYlBu | RdYlBu_r | |
| RdYlGn | RdYlGn_r | |
| Reds | Reds_r | |
| Set1 | Set1_r | |
| Set2 | Set2_r | |
| Set3 | Set3_r | |
| Spectral | Spectral_r | |
| Wistia | Wistia_r | |
| YlGn | YlGn_r | |
| YlGnBu | YlGnBu_r | |
| YlOrBr | YlOrBr_r | |
| YlOrRd | YlOrRd_r | |
| afmhot | afmhot_r | |
| autumn | autumn_r | |
| binaire | binary_r | |
| bone | bone_r | |
| brg | brg_r | |
| bwr | bwr_r | |
| cividis | cividis_r | |
| cool | cool_r | |
| coolwarm | coolwarm_r | |
| copper | copper_r | |
| cubehelix | cubehelix_r | |
| flag | flag_r | |
| gist_earth | gist_earth_r | |
| gist_gray | gist_gray_r | |
| gist_heat | gist_heat_r | |
| gist_ncar | gist_ncar_r | |
| gist_rainbow | gist_rainbow_r | |
| gist_stern | gist_stern_r | |
| gist_yarg | gist_yarg_r | |
| gnuplot | gnuplot_r | |
| gnuplot2 | gnuplot2_r | |
| gris | gray_r | |
| hot | hot_r | |
| hsv | hsv_r | |
| inferno | inferno_r | |
| jet | jet_r | |
| magma | magma_r | |
| nipy_spectral | nipy_spectral_r | |
| ocean | ocean_r | |
| pink | pink_r | |
| plasma | plasma_r | |
| prism | prism_r | |
| rainbow | rainbow_r | |
| seismic | seismic_r | |
| spring | spring_r | |
| summer | summer_r | |
| tab10 | tab10_r | |
| tab20 | tab20_r | |
| tab20b | tab20b_r | |
| tab20c | tab20c_r | |
| terrain | terrain_r | |
| twilight | twilight_r | |
| twilight_shifted | twilight_shifted_r | |
| viridis | viridis_r | |
| winter | winter_r |






