Gráfico de coordenadas paralelas en plotly

Datos de ejemplo

Considera los siguientes datos a modo de ejemplo:

import pandas as pd

# Datos
df = pd.DataFrame({
    "sepal_length": [5.1, 4.9, 6.3, 6.7, 5.5, 6.0],
    "sepal_width": [3.5, 3.0, 3.3, 3.1, 2.4, 2.9],
    "petal_length": [1.4, 1.4, 6.0, 5.6, 3.8, 4.5],
    "petal_width": [0.2, 0.2, 2.5, 2.4, 1.1, 1.5],
    "species_id": [1, 1, 3, 3, 2, 2]})

Gráfico de coordenadas paralelas con parallel_coordinates

Un gráfico de coordenadas paralelas representa cada observación como una línea que cruza un conjunto de ejes verticales paralelos, uno por variable numérica, lo que facilita comparar varias variables a la vez y detectar agrupaciones. Pasa un data frame a px.parallel_coordinates y usará por defecto todas las columnas numéricas.

import plotly.express as px

fig = px.parallel_coordinates(df)

fig.show()

Color

Mapea una columna numérica a color (junto con color_continuous_scale) para resaltar grupos de observaciones similares, por ejemplo el identificador de especie.

import plotly.express as px

fig = px.parallel_coordinates(df, color = "species_id",
                              color_continuous_scale = "viridis")

fig.show()

Seleccionar las columnas

Por defecto cada columna numérica se convierte en un eje. Pasa una lista a dimensions para elegirlas y ordenarlas a mano, por ejemplo para excluir el identificador usado para el color.

import plotly.express as px

fig = px.parallel_coordinates(
    df, dimensions = ["sepal_length", "sepal_width", "petal_length", "petal_width"],
    color = "species_id", color_continuous_scale = "viridis")

fig.show()

Variante categórica con parallel_categories

Si tus variables son categóricas en lugar de numéricas, usa parallel_categories en su lugar, que agrupa las líneas en cintas para cada categoría en vez de dibujar líneas individuales.

import plotly.express as px
import pandas as pd

# Datos de ejemplo
cat_df = pd.DataFrame({
    "tamano": ["Pequeño", "Pequeño", "Grande", "Grande", "Mediano"],
    "color": ["Rojo", "Azul", "Rojo", "Azul", "Rojo"],
    "calidad": ["Buena", "Mala", "Buena", "Buena", "Mala"]})

fig = px.parallel_categories(cat_df)

fig.show()
Data Sketches

A journey of imagination, exploration, and beautiful data visualizations

Comprar en Amazon
Fundamentals of Data Visualization

A Primer on Making Informative and Compelling Figures

Comprar en Amazon

También te puede interesar