¿Cómo revertir un mapa de colores usando Matplotlib en Python?

Requisitos previos: Matplotlib

Matplotlib tiene muchos mapas de colores incorporados. Los mapas de colores no son más que el diccionario que mapea los datos/números enteros en colores. Los mapas de colores se utilizan para diferenciar o distinguir los datos en un gráfico en particular. La razón para usar los mapas de colores es que es más fácil para los humanos distinguir los datos con respecto a otros datos a través de la trama que tiene colores diferentes en comparación con los valores numéricos.

Los mapas de colores se clasifican en cuatro categorías según el uso y los requisitos son los siguientes:

  • Secuencial
  • divergente
  • Cualitativo
  • Misceláneas

En este artículo, vamos a invertir el mapa de colores utilizando la biblioteca Matplotlib.

Invertir el mapa de colores significa invertir el mapa de colores de la trama. Por ejemplo, si los valores más altos del gráfico se muestran con color azul oscuro y los valores más bajos se muestran con color amarillo, luego de invertir el mapa de colores, los valores más altos del gráfico se muestran con color amarillo y los valores más bajos se muestran con color azul oscuro.

Podemos invertir el mapa de colores de la trama con la ayuda de dos métodos:

  1. Mediante el uso de la función reversed() para invertir el mapa de colores.
  2. Usando «_r» al final del nombre del mapa de colores.

Enfoque paso a paso:

  • Importe las bibliotecas necesarias.
  • Cree o importe un conjunto de datos para hacer el gráfico.
  • Podemos invertir el mapa de colores de la trama utilizando dos métodos que se describen anteriormente.
  • Usando el primer método:
    • Primero tenemos que obtener el mapa de colores usando cm.get_cmap(“name_of_cmap”) y dejar que se almacene en la variable llamada “orig_map”.
    • Luego tenemos que revertir el mapa de colores original para eso usamos la función reversed() para revertir el mapa de colores, escribiremos orig_map.reversed(), a partir de esto obtendremos el mapa de colores invertido que se almacenará en una variable llamada «reversed».
    • Ahora, haz el diagrama de dispersión pasando los valores a plot, c para color, y cmap=reversed para obtener el mapa de color invertido.
  • Usando el segundo método:
    • Este método es mucho más simple en comparación con el primer método, en este método, haga el gráfico de dispersión y, al pasar los valores al gráfico, c para el color, simplemente pase el nombre del mapa de colores agregando _r cmap = » nameofcmap_r » para obtener el color invertido . mapa.
  • Ahora asigne un nombre a los ejes X e Y usando la función xlabel() e ylabel(), la barra de colores para visualizar el mapeo de valores a colores usando la función colorbar(), y asigne un título a la gráfica usando la función title() proporcionada por matplotlib.
  • Ahora visualice la trama usando la función show() proporcionada por la biblioteca matplotlib.

En este artículo, la inversión de los mapas de colores se realiza mediante diagramas de dispersión. Hagamos algunos ejemplos para una mejor comprensión del tema.

Ejemplo 1: diagrama de dispersión con mapa de colores predeterminado sin invertir usando la biblioteca matplotlib.

Python

# importing the necessary libraries
import matplotlib.pyplot as plt
import numpy as np 
  
# creating the array to plot
x=np.arange(15)
y=[1, 2, 3, 4, 5, 6, 7, 8, 9, 12,
   15, 17, 19, 21, 23]
  
# making the scatter plot for x and y values
# giving color to the plot with respect to y
plt.scatter(x, y, c = y)
  
# naming the x axis and
# y axis using xlabel() and ylabel() function 
plt.xlabel("X Axis")
plt.ylabel("Y Axis")
  
# visualizing the mapping from values to colors
plt.colorbar()
  
# giving title to the plot using plt.title() function
plt.title("Scatter Plot with Default colormap")
  
# visualizing the plot
plt.show()

Producción:

Este es el gráfico de dispersión con el mapa de colores predeterminado. En este ejemplo, durante el trazado no se pasó el parámetro cmap=”viridis” porque el gráfico de dispersión utiliza el mapa de colores viridis como mapa de colores predeterminado. Ahora invirtamos el mapa de colores y veamos qué tan bien se ve.

Ejemplo 2: Diagrama de dispersión invirtiendo el mapa de colores usando la función invertida().

Python

# importing the necessary libraries
import matplotlib.pyplot as plt
import numpy as np 
  
# creating the array to plot
x=np.arange(15)
y=[1, 2, 3, 4, 5, 6, 7,
   8, 9, 12, 15, 17, 19, 21, 23]
  
# getting the original colormap using cm.get_cmap() function
orig_map=plt.cm.get_cmap('viridis')
  
# reversing the original colormap using reversed() function
reversed_map = orig_map.reversed()
  
# making the scatter plot on x and y  
# giving color to the plot with respect
# to y and passing cmap=reversed_map to reverse the colormap
plt.scatter(x, y, c = y, cmap = reversed_map)
  
# giving name to X and Y axis
plt.xlabel("X Axis")
plt.ylabel("Y Axis")
  
# visualizing the mapping from values to colors
plt.colorbar()
  
# giving title to the plot
plt.title("Scatter Plot with Default colormap")
  
# visualizing the plot using show() function
plt.show()

Producción:

En el ejemplo uno, los valores más altos se muestran con color amarillo y los valores más bajos se muestran con color púrpura, mientras que en el ejemplo dos podemos observar que después de invertir el mapa de colores, los valores más altos se muestran con color púrpura y los valores más bajos se muestran con color amarillo.

Veamos cómo invertir el mapa de colores usando el segundo método que es usando _r al final del nombre del mapa de colores.

Ejemplo 3: Diagrama de dispersión invirtiendo el mapa de colores usando la función _r.

Python

# importing the necessary libraries
import numpy as np
import matplotlib.pyplot as plt 
  
# creating the array to plot
x=np.arange(20)
y=[ 21, 24, 56, 78, 43, 23, 20, 28, 30,
   4, 6, 5, 7, 89, 20, 12, 72, 51, 58, 18]
  
# making the scatter plot on x and y values and giving color w.r.t y
# passing cmap in cmap add _r at the end of colormap name to reverse the colormap
plt.scatter(x, y, c = y, cmap = 'viridis_r')
  
# giving name to X and Y axis
plt.xlabel("X")
plt.ylabel("Y")
  
# visualizing the mapping from values to colors
plt.colorbar()
  
# giving title to the plot
plt.title("Scatter Plot with Reversed Viridis colormap")
  
# visualizing the plot using show() function
plt.show()

Producción:

Ejemplo 4: Diagrama de dispersión con mapa de colores de plasma invertido utilizando Matplotlib.

Python

# importing the necessary libraries
import numpy as np
import matplotlib.pyplot as plt 
  
# creating the array to plot
x=np.arange(20)
y=[21, 24, 56, 78, 43, 23, 20,
   28, 30, 4, 6, 5, 7, 89, 20, 12, 72,
   51, 58, 18]
  
# making the scatter plot on x and y values and giving color w.r.t y
# passing cmap in cmap add _r at
# the end of colormap name to reverse the colormap
plt.scatter( x, y,c = y, cmap = 'plasma_r')
  
# giving name to X and Y axis
plt.xlabel("X")
plt.ylabel("Y")
  
# visualizing the mapping from values to colors
plt.colorbar()
  
# giving title to the plot
plt.title("Scatter Plot with Reversed Plasma colormap")
  
# visualizing the plot using show() function
plt.show()

Producción:

En el ejemplo anterior, la primera figura muestra el diagrama sin invertir el mapa de colores, mientras que la segunda figura muestra el diagrama con el mapa de colores invertido. En este primer gráfico, los valores más altos se muestran con color amarillo, mientras que los valores más bajos se muestran con color azul oscuro, mientras que en el segundo gráfico, después de invertir el mapa de colores, los valores más altos se muestran con color azul oscuro y los valores más bajos se muestran con color amarillo. Hay muchos mapas de colores personalizados presentes en la biblioteca matplotlib como inferno, cividis, magma, plasma, etc.

Publicación traducida automáticamente

Artículo escrito por srishivansh5404 y traducido por Barcelona Geeks. The original can be accessed here. Licence: CCBY-SA

Deja una respuesta

Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *