Aquí hay un ejemplo
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()
Aquí está configurando el color según el índice t
, que es solo una matriz de [1, 2, ..., 100]
.
Quizás un ejemplo más fácil de entender es el ligeramente más 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()
Tenga en cuenta que la matriz que pasa como c
no necesita tener ningún orden o tipo en particular, es decir, no necesita ser ordenada o enteros como en estos ejemplos. La rutina de trazado escalará el mapa de colores de modo que los valores mínimo / máximo en c
correspondan a la parte inferior / superior del mapa de colores.
Mapas de colores
Puede cambiar el mapa de colores agregando
import matplotlib.cm as cm
plt.scatter(x, y, c=t, cmap=cm.cmap_name)
La importación matplotlib.cm
es opcional, ya que también puede llamar a mapas de colores cmap="cmap_name"
. Hay una página de referencia de mapas de colores que muestra el aspecto de cada uno. También sepa que puede invertir un mapa de colores simplemente llamándolo como cmap_name_r
. Entonces tampoco
plt.scatter(x, y, c=t, cmap=cm.cmap_name_r)
plt.scatter(x, y, c=t, cmap="cmap_name_r")
trabajará. Los ejemplos son "jet_r"
o cm.plasma_r
. Aquí hay un ejemplo con el nuevo viridis de mapa de colores 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()
Barras de colores
Puede agregar una barra de colores usando
plt.scatter(x, y, c=t, cmap='viridis')
plt.colorbar()
plt.show()
Tenga en cuenta que si está utilizando figuras y subtramas explícitamente (por ejemplo, fig, ax = plt.subplots()
o ax = fig.add_subplot(111)
), agregar una barra de colores puede ser un poco más complicado. Se pueden encontrar buenos ejemplos aquí para una sola barra de color de subparcela y aquí para 2 subtramas 1 barra de color .
plt.colorbar()
comando.