Voici un exemple
import numpy as np
import matplotlib.pyplot as plt
x = np.random.rand(100)
y = np.random.rand(100)
t = np.arange(100)
plt.scatter(x, y, c=t)
plt.show()
Ici, vous définissez la couleur en fonction de l'indice, t
qui est juste un tableau de [1, 2, ..., 100]
.
Un exemple plus facile à comprendre est peut-être celui, légèrement plus simple, de
import numpy as np
import matplotlib.pyplot as plt
x = np.arange(100)
y = x
t = x
plt.scatter(x, y, c=t)
plt.show()
Notez que le tableau que vous passez comme c
n'a pas besoin d'avoir un ordre ou un type particulier, c'est-à-dire qu'il n'a pas besoin d'être trié ou d'être des entiers comme dans ces exemples. La routine de traçage mettra à l'échelle la carte de couleurs de façon à ce que les valeurs minimales/maximales dans le tableau de bord soient les mêmes. c
correspondent au bas et au haut de la carte des couleurs.
Colormaps
Vous pouvez modifier la carte des couleurs en ajoutant
import matplotlib.cm as cm
plt.scatter(x, y, c=t, cmap=cm.cmap_name)
Importation de matplotlib.cm
est facultatif, car vous pouvez appeler les cartes de couleurs en tant que cmap="cmap_name"
tout aussi bien. Il existe un page de référence de cartes de couleurs montrant à quoi elles ressemblent. Sachez également que vous pouvez inverser une carte de couleurs en l'appelant simplement en tant que cmap_name_r
. Donc, soit
plt.scatter(x, y, c=t, cmap=cm.cmap_name_r)
# or
plt.scatter(x, y, c=t, cmap="cmap_name_r")
fonctionnera. Voici quelques exemples "jet_r"
o cm.plasma_r
. Voici un exemple avec la nouvelle carte de couleurs viridis 1.5 :
import numpy as np
import matplotlib.pyplot as plt
x = np.arange(100)
y = x
t = x
fig, (ax1, ax2) = plt.subplots(1, 2)
ax1.scatter(x, y, c=t, cmap='viridis')
ax2.scatter(x, y, c=t, cmap='viridis_r')
plt.show()
Barres de couleur
Vous pouvez ajouter une barre de couleur en utilisant
plt.scatter(x, y, c=t, cmap='viridis')
plt.colorbar()
plt.show()
Notez que si vous utilisez des figures et des sous-points de manière explicite (par ex. fig, ax = plt.subplots()
o ax = fig.add_subplot(111)
), l'ajout d'une barre de couleur peut être un peu plus compliqué. De bons exemples peuvent être trouvés ici pour une seule barre de couleur de sous-plot y ici pour 2 sous-plots 1 colorbar .