Establezca el color para el Scatterplot en Matplotlib
Para establecer el color de los marcadores en Matplotlib, establecemos el parámetro c
en el método matplotlib.pyplot.scatter()
.
Establecer el color de un marcador en el Scatterplot
import matplotlib.pyplot as plt
x = [1, 2, 3, 4, 5, 6, 7]
y = [2, 1, 4, 7, 4, 3, 2]
plt.scatter(x, y, c="red")
plt.xlabel("X")
plt.ylabel("Y")
plt.title("Simple Scatter Plot")
plt.show()
Resultado:
Aquí, ponemos el color de todos los marcadores de los diagramas de dispersión en rojo poniendo c="red"
en el método scatter()
.
Si tenemos dos conjuntos de datos diferentes, podemos usar colores diferentes para cada conjunto de datos usando los diferentes valores del parámetro c
.
import matplotlib.pyplot as plt
x = [1, 2, 3, 4, 5, 6, 7]
y1 = [2, 1, 4, 7, 4, 3, 2]
y2 = [4, 4, 5, 3, 8, 9, 6]
plt.scatter(x, y1, c="red")
plt.scatter(x, y2, c="green")
plt.xlabel("X")
plt.ylabel("Y")
plt.title("Scatter Plot of two different datasets")
plt.show()
Resultado:
Aquí, el conjunto de datos y1
está representado en la gráfica de dispersión por el color rojo mientras que el conjunto de datos y2
está representado en la gráfica de dispersión por el color verde.
Será difícil asignar el color manualmente cada vez a cada conjunto de datos si hay un gran número de conjuntos de datos. En tales casos, podemos usar colormap
para generar los colores para cada conjunto de datos.
import numpy as np
import matplotlib.pyplot as plt
import matplotlib.cm as cm
x = np.array([1, 2, 3, 4, 5])
y = np.random.random((10, 5))
colors = cm.rainbow(np.linspace(0, 1, y.shape[0]))
for dataset, color in zip(y, colors):
plt.scatter(x, dataset, color=color)
plt.xlabel("X")
plt.ylabel("Y")
plt.show()
Resultado:
Genera diferentes colores para cada fila del array y
y traza cada fila con un color diferente.
En lugar de usar el mapa de colores generado, también podemos especificar los colores que se usarán para las gráficas de dispersión en una lista y pasar la lista al método itertools.cycle()
para hacer un ciclador de color personalizado. Para iterar sobre el color, usamos la función next()
.
import itertools
import numpy as np
import matplotlib.pyplot as plt
import matplotlib.cm as cm
x = np.array([1, 2, 3, 4, 5])
y = np.random.random((10, 5))
color_cycle = itertools.cycle(
["orange", "pink", "blue", "brown", "red", "grey", "yellow", "green"]
)
for row in y:
plt.scatter(x, row, color=next(color_cycle))
plt.xlabel("X")
plt.ylabel("Y")
plt.show()
Resultado:
El método itertools.cycle()
creará una lista cíclica de colores a partir del conjunto de colores dados, y cada fila se traza en el gráfico de dispersión eligiendo un color de la lista cíclica.
Suraj Joshi is a backend software engineer at Matrice.ai.
LinkedInArtículo relacionado - Matplotlib Scatter Plot
- Cómo trazar la lista de coordenadas x,y en Matplotlib
- Puntos de dispersión de la etiqueta Matplotlib
- Cómo hacer la leyenda del diagrama de dispersión en Matplotlib
- Trazar puntos en Matplotlib