Skip to content
Tutoriales
Plotly
Plotly Express: Clearly Explained

Plotly Express: Claramente Explicado

La visualización de datos es un aspecto crucial del análisis de datos y del aprendizaje automático. Nos permite comprender conjuntos de datos complejos y extraer información que puede no ser evidente a partir de datos sin procesar. Una herramienta que ha facilitado enormemente este proceso es Plotly Express.

Plotly Express es una interfaz de alto nivel para visualización de datos. Simplifica el proceso de creación de gráficos complejos y facilita a los principiantes comenzar a crear visualizaciones impresionantes. Ya seas un principiante o un programador experimentado, esta guía integral te mostrará cómo aprovechar todo el potencial de Plotly Express.

¿Qué es Plotly Express?

Plotly Express, a menudo abreviado como PX, es un envoltorio para Plotly.py que simplifica el proceso de creación de gráficos complejos. Proporciona una interfaz de alto nivel para la biblioteca Plotly, lo que significa que puedes crear visualizaciones impresionantes con menos líneas de código.

Plotly Express admite una amplia variedad de gráficos, incluyendo gráficos de dispersión, gráficos de líneas, gráficos de barras y más. También admite animaciones, lo que permite crear gráficos interactivos que cambian con el tiempo o en respuesta a las interacciones del usuario.

Una de las características clave de Plotly Express es su integración con los DataFrames de Pandas. Esto significa que puedes pasar directamente objetos DataFrame a las funciones de Plotly Express, lo que facilita trabajar con conjuntos de datos grandes.

Plotly Express vs Plotly Graph Objects

Si bien Plotly Express y Plotly Graph Objects son parte del ecosistema de Plotly, cumplen diferentes propósitos. Plotly Graph Objects es una interfaz de bajo nivel que proporciona más control y opciones de personalización. Por otro lado, Plotly Express es una interfaz de alto nivel que simplifica el proceso de creación de gráficos.

Para principiantes, Plotly Express suele ser la mejor elección. Es más fácil de usar y requiere menos código para crear visualizaciones complejas. Sin embargo, si necesitas más control sobre tus gráficos o quieres crear visualizaciones personalizadas, es posible que encuentres más adecuado a Plotly Graph Objects.

Tipos de Visualizaciones con Plotly Express

Plotly Express admite una amplia variedad de visualizaciones. Aquí están algunos de los tipos más comunes:

  1. Gráficos de Dispersión: Los gráficos de dispersión se utilizan para mostrar la relación entre dos variables numéricas. Son ideales para identificar tendencias, patrones y valores atípicos en tus datos.

  2. Gráficos de Líneas: Los gráficos de líneas se utilizan para mostrar datos a lo largo del tiempo. Se utilizan comúnmente en el análisis de series temporales y para rastrear cambios a lo largo del tiempo.

  3. Gráficos de Barras: Los gráficos de barras se utilizan para comparar la frecuencia, el recuento u otras características de diferentes categorías. Son ideales para datos categóricos.

  4. Histogramas: Los histogramas se utilizan para mostrar la distribución de una única variable numérica. Son ideales para comprender la dispersión y asimetría de tus datos.

  5. Diagramas de Caja: Los diagramas de caja se utilizan para mostrar el resumen estadístico de una variable numérica. Muestran la mediana, los cuartiles y los posibles valores atípicos en tus datos.

  6. Mapas de Calor: Los mapas de calor se utilizan para mostrar la correlación entre dos o más variables. Son ideales para identificar patrones y grupos en tus datos.

Cada una de estas visualizaciones se puede crear con solo unas pocas líneas de código en Plotly Express. En la siguiente sección, veremos algunos ejemplos de cómo crear estos gráficos.

Importando Plotly Express en Python

Antes de poder comenzar a crear visualizaciones con Plotly Express, deberás importarlo en tu entorno de Python. Si aún no has instalado Plotly, puedes hacerlo utilizando pip:

pip install plotly

Una vez que Plotly esté instalado, puedes importar Plotly Express de la siguiente manera:

import plotly.express as px

Con Plotly Express importado, ¡ya estás listo para comenzar a crear visualizaciones impresionantes!

Creando Visualizaciones con Plotly Express

Crear visualizaciones con Plotly Express es sencillo. Comencemos creando un gráfico de dispersión simple. Primero, necesitaremos algunos datos. Para este ejemplo, utilizaremos el conjunto de datos incorporado iris:

df = px.data.iris()

Ahora, podemos crear un gráfico de dispersión de ancho de sépalo vs. longitud de sépalo:

fig = px.scatter(df, x="sepal_width", y="sepal_length")
fig.show()

¡En solo tres líneas de código, hemos creado un gráfico de dispersión! Pero Plotly Express puede hacer mucho más que solo gráficos de dispersión. Creemos un gráfico de líneas utilizando el conjunto de datos gapminder:

df = px.data.gapminder().query("country=='Canada'")
fig = px.line(df, x="year", y="lifeExp", title='Esperanza de vida en Canadá')
fig.show()

Una vez más, en solo unas pocas líneas de código, hemos creado un gráfico de líneas que muestra la esperanza de vida en Canadá a lo largo del tiempo.

Personalizando los Gráficos en Plotly Express

Una de las fortalezas de Plotly Express son sus opciones de personalización. Puedes cambiar fácilmente los colores, etiquetas y otros aspectos de tus gráficos.

Por ejemplo, personalicemos nuestro gráfico de dispersión anterior. Colorearemos los puntos por especie y cambiaremos las etiquetas:

fig = px.scatter(df, x="sepal_width", y="sepal_length", color="species",
                 labels={
                     "sepal_width": "Ancho del Sépalo (cm)",
                     "sepal_length": "Longitud del Sépalo (cm)",
                     "species": "Especie"
                 },
                 title="Dimensiones del Sépalo de la Flor de Iris")
fig.show()

Con estas personalizaciones, nuestro gráfico es mucho más informativo. Podemos distinguir fácilmente entre las especies y las etiquetas son más claras.

Plotly Express vs Otras Bibliotecas

Cuando se trata de visualización de datos en Python, hay varias bibliotecas para elegir. Dos de las más populares, aparte de Plotly Express, son Matplotlib y Seaborn.

Matplotlib es una biblioteca de bajo nivel que ofrece mucha flexibilidad a costa de la simplicidad. Si bien puedes crear casi cualquier visualización que se te ocurra, a menudo requiere mucho código para hacerlo.

Seaborn es una biblioteca de alto nivel que se construye sobre Matplotlib. Simplifica el proceso de crear visualizaciones más complejas, pero aún requiere una cantidad justa de código para la personalización.

Plotly Express, por otro lado, logra un equilibrio entre la simplicidad y la flexibilidad. Te permite crear visualizaciones complejas con un código mínimo, y también ofrece una amplia gama de opciones de personalización. Además, la naturaleza interactiva de los gráficos de Plotly Express es una ventaja significativa sobre los gráficos estáticos creados con Matplotlib o Seaborn.

¿Quieres crear rápidamente visualizaciones de datos a partir de un DataFrame de Python Pandas sin código?

PyGWalker es una biblioteca de Python para el análisis exploratorio de datos con visualización. PyGWalker (opens in a new tab) puede simplificar tu flujo de trabajo de análisis y visualización de datos en Jupyter Notebook, convirtiendo tu DataFrame de pandas (y DataFrame de polars) en una interfaz de usuario al estilo de Tableau para exploración visual.

PyGWalker para visualización de datos (opens in a new tab)

Agregar leyendas y otros elementos en Plotly Express

Agregar leyendas, títulos y etiquetas a tus gráficos de Plotly Express es sencillo. La mayor parte de esto se puede hacer directamente dentro de la función de trazado en sí. Por ejemplo, para agregar un título a tu gráfico, puedes usar el parámetro title:

fig = px.scatter(df, x="sepal_width", y="sepal_length", color="species", title="Dimensiones del sépalo de la flor Iris")
fig.show()

Para agregar etiquetas de ejes, puedes usar el parámetro labels como hemos visto en los ejemplos anteriores. Las leyendas se agregan automáticamente cuando usas el parámetro color para distinguir entre diferentes categorías en tus datos.

Para personalizaciones más avanzadas, puedes usar el método update_layout:

fig.update_layout(
    title="Dimensiones del sépalo de la flor Iris",
    xaxis_title="Ancho del sépalo (cm)",
    yaxis_title="Longitud del sépalo (cm)",
    legend_title="Especies",
    font=dict(
        family="Courier New, monospace",
        size=18,
        color="RebeccaPurple"
    )
)

Esto te permite personalizar la fuente, el tamaño y el color de tu título, etiquetas y leyenda.

Ahora, pasemos a algunas preguntas frecuentes sobre Plotly Express.

Preguntas frecuentes

  1. ¿Qué es Plotly Express? Plotly Express es una biblioteca de visualización de datos de alto nivel en Python. Es un envoltorio para Plotly.py que simplifica el proceso de creación de gráficos complejos.

  2. ¿Cómo se diferencia Plotly Express de Plotly Graph Objects? Plotly Express es una interfaz de alto nivel para Plotly, lo que significa que puedes crear gráficos complejos con menos código. Plotly Graph Objects, por otro lado, es una interfaz de bajo nivel que proporciona más control y opciones de personalización.

  3. ¿Qué tipos de visualizaciones se pueden crear con Plotly Express? Plotly Express admite una amplia variedad de visualizaciones, incluyendo gráficos de dispersión, gráficos de líneas, gráficos de barras, histogramas, diagramas de caja y mapas de calor. También admite animaciones.

  4. ¿Es Plotly Express adecuado para principiantes? Sí, Plotly Express está diseñado para ser fácil de usar y requiere menos código para crear visualizaciones complejas, lo que lo convierte en una excelente opción para principiantes.

  5. ¿Cómo se puede importar Plotly Express en Python? Puedes importar Plotly Express en Python utilizando la siguiente línea de código: import plotly.express as px.