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'index t
, qui n'est qu'un tableau de [1, 2, ..., 100]
.
Un exemple peut-être plus facile à comprendre est le plus simple
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 en tant que 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 des entiers comme dans ces exemples. La routine de traçage mettra à l'échelle la palette de couleurs de telle sorte que les valeurs minimum / maximum dans c
correspondent au bas / haut de la palette de couleurs.
Couleurs
Vous pouvez modifier la palette de couleurs en ajoutant
import matplotlib.cm as cm
plt.scatter(x, y, c=t, cmap=cm.cmap_name)
L'importation matplotlib.cm
est facultative car vous pouvez également appeler des couleurs cmap="cmap_name"
. Il y a une page de référence de couleurs montrant à quoi chacun ressemble. Sachez également que vous pouvez inverser une palette de couleurs en l'appelant simplement cmap_name_r
. Alors non plus
plt.scatter(x, y, c=t, cmap=cm.cmap_name_r)
plt.scatter(x, y, c=t, cmap="cmap_name_r")
marchera. Des exemples sont "jet_r"
ou cm.plasma_r
. Voici un exemple avec la nouvelle 1.5 colormap viridis:
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 couleurs
Vous pouvez ajouter une barre de couleurs en utilisant
plt.scatter(x, y, c=t, cmap='viridis')
plt.colorbar()
plt.show()
Notez que si vous utilisez explicitement des figures et des sous-graphiques (par exemple fig, ax = plt.subplots()
ou ax = fig.add_subplot(111)
), l'ajout d'une barre de couleurs peut être un peu plus compliqué. De bons exemples peuvent être trouvés ici pour une seule barre de couleur de sous-tracé et ici pour 2 sous-graphiques, 1 barre de couleur .
plt.colorbar()
commande.