Skip to content

Mapa de calor de Plotly - Consejos, trucos y ejemplos

Updated on

Los mapas de calor son una herramienta poderosa en el ámbito de la visualización de datos. Nos permiten representar datos complejos de manera visualmente intuitiva, lo que los convierte en una herramienta esencial para científicos de datos y analistas. Una de las bibliotecas más populares para crear mapas de calor es Plotly, una biblioteca de Python que ofrece un alto grado de personalización e interactividad. En esta guía, profundizaremos en el mundo de los mapas de calor de Plotly, explorando sus características y proporcionando ejemplos prácticos para ayudarte a crear tus propias visualizaciones impresionantes.

Plotly es una biblioteca versátil que proporciona una interfaz fácil de usar para crear una amplia gama de visualizaciones, incluidos los mapas de calor. Los mapas de calor en Plotly no solo son visualmente atractivos sino también interactivos, lo que permite a los usuarios hacer zoom, desplazarse y pasar el cursor para obtener una comprensión más profunda de los datos. Esta guía te proporcionará una comprensión completa de cómo crear, personalizar y optimizar mapas de calor de Plotly para tus necesidades de visualización de datos.

¿Qué es un mapa de calor?

Un mapa de calor es una representación gráfica de datos en la que los valores individuales se representan como colores. Es una forma de representar datos que puede ser especialmente útil cuando tienes muchos puntos de datos y estás interesado en patrones o correlaciones. Las variaciones de color en el mapa de calor pueden resaltar fácilmente los patrones y ofrecer un resumen visual rápido de la información.

¿Qué es un mapa de calor de Plotly?

El mapa de calor de Plotly es un tipo de mapa de calor que se puede generar utilizando la biblioteca Plotly en Python. Ofrece una variedad de características que lo convierten en una herramienta potente para crear visualizaciones de mapas de calor complejas. Con Plotly, puedes crear mapas de calor que son interactivos, personalizables y se pueden compartir o incrustar fácilmente en sitios web o aplicaciones.

¿Cómo crear un mapa de calor de Plotly?

Crear un mapa de calor de Plotly implica algunos pasos clave. Primero, debes importar las bibliotecas necesarias y cargar tus datos. Plotly Express, una interfaz de alto nivel para Plotly, se puede utilizar para crear mapas de calor con solo unas pocas líneas de código. Aquí tienes un ejemplo básico:

import plotly.express as px
 
# Suponiendo que df es un DataFrame de pandas
fig = px.imshow(df)
fig.show()

En este ejemplo, px.imshow() se utiliza para crear un mapa de calor a partir del DataFrame df. El mapa de calor resultante se puede mostrar usando fig.show().

Agregar anotaciones a un mapa de calor de Plotly

Se pueden agregar anotaciones a un mapa de calor de Plotly para proporcionar información adicional sobre los puntos de datos. Esto se puede hacer utilizando la función add_annotation() en Plotly. Aquí tienes un ejemplo:

import plotly.graph_objects as go
 
fig = go.Figure(data=go.Heatmap(
                   z=[[1, 20, 30],
                      [20, 1, 60],
                      [30, 60, 1]]))
fig.add_annotation(text="Mapa de calor anotado",
                  xref="paper", yref="paper",
                  x=0.5, y=-0.15, showarrow=False)
 
fig.show()

En este ejemplo, se agrega una anotación debajo del mapa de calor. Los parámetros xref y yref se establecen en "paper", lo que significa que las coordenadas son

relativas al tamaño de la figura, con (0,0) en la esquina inferior izquierda y (1,1) en la esquina superior derecha.

Crear un mapa de calor correlacionado en Python

Un mapa de calor correlacionado es un tipo de mapa de calor que se utiliza a menudo para visualizar la matriz de correlación de un conjunto de datos. La matriz de correlación es una tabla que muestra los coeficientes de correlación entre muchas variables. Cada celda de la tabla muestra la correlación entre dos variables. Una matriz de correlación se utiliza para resumir datos, como entrada para un análisis más avanzado y como diagnóstico para análisis avanzados.

En Python, puedes utilizar la biblioteca Plotly para crear un mapa de calor correlacionado. Aquí tienes un ejemplo:

import plotly.figure_factory as ff
import numpy as np
import pandas as pd
 
# Suponiendo que df es un DataFrame de pandas
matriz_correlacion = df.corr()
mapa_calor = ff.create_annotated_heatmap(z=matriz_correlacion.values, 
                                      x=list(matriz_correlacion.columns), 
                                      y=list(matriz_correlacion.index), 
                                      annotation_text=matriz_correlacion.round(2).values, 
                                      showscale=True)
 
mapa_calor.show()

En este ejemplo, primero calculamos la matriz de correlación del DataFrame df utilizando la función corr(). Luego creamos un mapa de calor con anotaciones utilizando la función create_annotated_heatmap() de plotly.figure_factory. Los valores de correlación se redondean a dos decimales para el texto de la anotación.

Cambiar la escala de colores en un mapa de calor de Plotly

Se puede cambiar la escala de colores de un mapa de calor para adaptarse mejor a los datos o a las preferencias estéticas del usuario. Plotly proporciona una variedad de escalas de colores para elegir, incluyendo Cividis, Electric, Viridis y más. Así es cómo puedes cambiar la escala de colores:

import plotly.express as px
 
# Suponiendo que df es un DataFrame de pandas
fig = px.imshow(df, colorscale='Viridis')
fig.show()

En este ejemplo, establecemos la escala de colores en 'Viridis' utilizando el parámetro colorscale en la función imshow(). El mapa de calor resultante utilizará la escala de colores Viridis, que va desde el morado oscuro hasta el amarillo.

Mapa de calor con Plotly Express

Plotly Express es una interfaz de alto nivel para Plotly que facilita la creación de visualizaciones complejas con menos código. Es particularmente útil para crear mapas de calor. Aquí tienes un ejemplo de cómo crear un mapa de calor con Plotly Express:

import plotly.express as px
 
# Suponiendo que df es un DataFrame de pandas
fig = px.imshow(df)
fig.show()

En este ejemplo, usamos la función imshow() de Plotly Express para crear un mapa de calor. Esta función automáticamente infiere las etiquetas x e y del DataFrame, lo que hace aún más fácil crear un mapa de calor.

Panel interactivo con mapa de calor de Plotly

Una de las características más potentes de Plotly es su capacidad para crear paneles interactivos. Estos paneles pueden incluir múltiples visualizaciones, incluyendo mapas de calor, y permiten a los usuarios interactuar con los datos en tiempo real. Aquí tienes un ejemplo de cómo crear un panel interactivo con un mapa de calor de Plotly:

import plotly.graph_objs as go
from plotly.subplots import make_subplots
 
# Suponiendo que df1 y df2 son DataFrames de pandas
fig = make_subplots(rows=1, cols=2)
 
heatmap1 = go.Heatmap(z=df1.values, colorscale='Viridis')
heatmap2 = go.Heatmap(z=df2.values, colorscale='Cividis')
 
fig.add_trace(heatmap1, row=1, col=1)
fig.add_trace(heatmap2, row=1, col=2)
 
fig.show()

En este ejemplo, creamos un subplot con dos columnas. Luego creamos dos mapas de calor utilizando DataFrames diferentes y los añadimos al subplot. El panel resultante mostrará ambos mapas de calor uno al lado del otro, permitiendo a los usuarios compararlos de forma interactiva.

Crear fácilmente un mapa de calor en PyGWalker

Otra opción para crear un mapa de calor a partir de tu dataframe de pandas sin usar plotly es mediante el uso de PyGWalker, una biblioteca de Python de código abierto, donde puedes crear visualizaciones de datos arrastrando y soltando variables.

Así es como puedes empezar rápidamente:

Configurar pygwalker

Antes de empezar, asegúrate de instalar los paquetes necesarios a través de la línea de comandos usando pip o conda. Usando pip: Para instalar PygWalker, simplemente ejecuta

pip install pygwalker

Si quieres mantener tu versión actualizada con la última versión, prueba con:

pip install pygwalker --upgrade

Alternativamente, también puedes usar

pip install pygwalker --upgrade --pre

para obtener las últimas características y correcciones de errores.

Usando Conda-forge:

Para instalar PygWalker a través de conda-forge, ejecuta alguno de los siguientes comandos:

conda install -c conda-forge pygwalker

o

mamba install -c conda-forge pygwalker

Para obtener más ayuda, consulta el feedstock de conda-forge.

Ejecutar PyGWalker

Una vez que tengas PygWalker instalado, puedes empezar a usarlo en Jupyter Notebook importando pandas y PygWalker.

import pandas as pd
import pygwalker as pyg

PygWalker se integra fácilmente en tu flujo de trabajo existente. Por ejemplo, para llamar a Graphic Walker con un dataframe, puedes cargar tus datos usando pandas y luego ejecutar:

df = pd.read_csv('./bike_sharing_dc.csv', parse_dates=['date'])
gwalker = pyg.walk(df)

Si estás usando polars (versión pygwalker>=0.1.4.7a0), también puedes usar PygWalker de la siguiente manera:

import polars as pl
df = pl.read_csv('./bike_sharing_dc.csv',try_parse_dates = True)
gwalker = pyg.walk(df)

Para obtener aún más flexibilidad, puedes probar PygWalker en línea a través de Binder (opens in a new tab), Google Colab (opens in a new tab), o Kaggle Code (opens in a new tab).

Eso es todo. Ahora tienes una interfaz de usuario similar a Tableau para analizar y visualizar datos arrastrando y soltando variables. PyGWalker with a tableau-alternative UI

Crear un mapa de calor

Después de importar el dataframe de Pandas o Polars, puedes crear fácilmente un mapa de calor:

  1. Selecciona el botón Tipo de marca en la barra de herramientas y selecciona 'Rectángulo'.
  2. Haz clic izquierdo en tu variable y aparecerá un menú. Elige la opción BIN.

PyGWalker se construye con el apoyo de una comunidad apasionada de científicos de datos y desarrolladores. Echa un vistazo a la página de GitHub de PyGWalker (opens in a new tab) ¡y dale una estrella!

Preguntas frecuentes

  1. ¿Qué es un mapa de calor de Plotly? Un mapa de calor de Plotly es un tipo de mapa de calor que se puede generar utilizando la biblioteca Plotly en Python. Ofrece una variedad de características que lo convierten en una herramienta poderosa para crear visualizaciones de mapas de calor complejas.

  2. ¿Cómo puedo crear un mapa de calor de Plotly? Puedes crear un mapa de calor de Plotly utilizando la función imshow() de Plotly Express o la función Heatmap() de plotly.graph_objects. Deberás pasar tus datos a estas funciones y devolverán una figura que puedes mostrar utilizando fig.show().

  3. ¿Puedo añadir anotaciones a un mapa de calor de Plotly? Sí, puedes añadir anotaciones a un mapa de calor de Plotly utilizando la función add_annotation(). Esto te permite añadir texto o información adicional a tu mapa de calor.