Matplotlib: Cómo colorear un diagrama de dispersión por valor

A menudo, es posible que desee sombrear el color de los puntos dentro de un diagrama de dispersión de matplotlib en función de alguna tercera variable. Afortunadamente, esto es fácil de hacer usando la función matplotlib.pyplot.scatter () , que adopta la siguiente sintaxis:

matplotlib.pyplot.scatter (x, y, s = Ninguno, c = Ninguno, cmap = Ninguno)

dónde:

  • x: matriz de valores que se utilizarán para las posiciones del eje x en el gráfico.
  • y: matriz de valores que se utilizarán para las posiciones del eje y en el gráfico.
  • s: el tamaño del marcador.
  • c: matriz de valores que se utilizarán para los colores de los marcadores.
  • cmap: un mapa de colores para usar en la trama.

Puede usar c para especificar una variable a usar para los valores de color y puede usar cmap para especificar los colores reales que se usarán para los marcadores en el diagrama de dispersión.

Este tutorial explica varios ejemplos de cómo utilizar esta función en la práctica.

Ejemplo 1: Puntos de la gráfica de dispersión de color por valor

Supongamos que tenemos el siguiente DataFrame de pandas:

importar pandas como pd

#create DataFrame
df = pd.DataFrame ({'x': [25, 12, 15, 14, 19, 23, 25, 29],
                   'y': [5, 7, 7, 9, 12, 9, 9, 4],
                   'z': [3, 4, 4, 5, 7, 8, 8, 9]})

#view DataFrame
 df

        x y z
0 25 5 3
1 12 7 4
2 15 7 4
3 14 9 5
4 19 12 7
5 23 9 8
6 25 9 8
7 29 4 9

El siguiente código muestra cómo crear un diagrama de dispersión usando un mapa de colores gris y usando los valores de la variable z como sombra para el mapa de colores:

importar matplotlib.pyplot como plt

#create scatterplot 
plt. dispersión (df.x, df.y, s = 200, c = df.z, cmap = ' gris ')

Color de la gráfica de dispersión de matplotlib por valor

Para este ejemplo en particular, elegimos el mapa de colores ‘gris’, pero puede encontrar una lista completa de mapas de colores disponibles para usar en la documentación del mapa de colores matplotlib .

Por ejemplo, podríamos especificar ‘Verdes’ como mapa de colores:

plt. dispersión (df.x, df.y, s = 200, c = df.z, cmap = ' Verdes ')

Diagrama de dispersión de matplotlib con cmap

De forma predeterminada, los marcadores con valores más grandes para el argumento c están sombreados más oscuros, pero puede revertir esto simplemente agregando _r al nombre de cmap:

plt. dispersión (df.x, df.y, s = 200, c = df.z, cmap = ' Greens_r ')

Escala inversa del mapa de colores de Matplotlib

Ejemplo 2: puntos de la gráfica de dispersión de color por categoría

Supongamos que tenemos el siguiente DataFrame de pandas:

importar pandas como pd

#create DataFrame
df = pd.DataFrame ({'x': [25, 12, 15, 14, 19, 23, 25, 29],
                   'y': [5, 7, 7, 9, 12, 9, 9, 4],
                   'z': ['A', 'A', 'B', 'B', 'B', 'C', 'C', 'C']})

#view DataFrame
 df

	x y z
0 25 5 A
1 12 7 A
2 15 7 B
3 14 9 B
4 19 12 B
5 23 9 C
6 25 9 C
7 29 4 C

El siguiente código muestra cómo crear un diagrama de dispersión usando la variable z para colorear los marcadores según la categoría:

importar matplotlib.pyplot como plt

grupos = gl. groupby ('z')
 para nombre, grupo en grupos:
    plt. trama (grupo.x, grupo.y, marcador = ' o ', estilo de línea = '', tamaño de marcador = 12, etiqueta = nombre)

plt. leyenda ()

Diagrama de dispersión de matplotlib coloreado por categoría

Puede encontrar más tutoriales de Python aquí .

  • https://r-project.org
  • https://www.python.org/
  • https://www.stata.com/

Deja un comentario

A menudo, puede estar interesado en subconjuntos de un marco de datos basado en ciertas condiciones en R. Afortunadamente, esto…
statologos comunidad-2

Compartimos información EXCLUSIVA y GRATUITA solo para suscriptores (cursos privados, programas, consejos y mucho más)

You have Successfully Subscribed!