¿Cómo facetar un gráfico de dispersión con Altair?

En este artículo, aprenderemos a facetar un diagrama de dispersión con Altair. Recordemos algunos conceptos:

  • Altair es una biblioteca de visualización estadística en Python. Es de naturaleza declarativa y se basa en las gramáticas de visualización Vega y Vega-Lite. Se está convirtiendo rápidamente en la primera opción de las personas que buscan una forma rápida y eficiente de visualizar conjuntos de datos. Si ha utilizado bibliotecas de visualización imperativas como matplotlib, podrá apreciar correctamente las capacidades de Altair.
  • Un diagrama de dispersión (también llamado diagrama de dispersión, gráfico de dispersión, gráfico de dispersión, diagrama de dispersión o diagrama de dispersión) es un tipo de diagrama o diagrama matemático que utiliza coordenadas cartesianas para mostrar valores de dos variables típicamente para un conjunto de datos.

Aquí, estamos haciendo el diagrama de dispersión usando la biblioteca de Altair. Para esto, usamos la función Chart() en Altair para cargar los datos y luego usamos la función mark_point() para hacer un diagrama de dispersión. Luego usamos los ejes X e Y de la estética para codificar() la función. Después de hacer este diagrama de dispersión, lo facetaremos con valores de columna agrupados, como clústeres.

Pasos necesarios

  1. Importación de Bibliotecas (Altair).
  2. Crear/Cargar datos.
  3. Utilice Chart() para cargar datos para el gráfico.
  4. Utilice mark_point() para diagrama de dispersión.
  5. Utilice encode() para los ejes x e y.
  6. (Opcional) Use propiedades() para configurar el ancho y la altura.
  7. Utilice facet() sobre diagrama de dispersión con grupos.

Ejemplos 

Comprendamos los pasos mencionados anteriormente con la ayuda de algunos ejemplos:

Ejemplo 1: 

En este ejemplo, dibujamos un diagrama de dispersión de facetas simple con algunos datos ficticios. Eso se muestra a continuación:

A continuación se muestra la implementación:

Python3

# import libraries
import altair as alt
import pandas as pd
import numpy as np
np.random.seed(1)
  
# create data
df = pd.DataFrame({'X':np.random.randint(1, 10, 50),
                   'Y':np.random.randint(1, 10, 50),
                   'Cluster':np.random.randint(1, 5, 50)})
  
# Draw Facet Scatter Plot
alt.Chart(df).mark_point().encode(
    x=alt.X('X'),
    y=alt.Y('Y')
).properties(width = 200, height = 200).facet(
    'Cluster:N',
    columns = 2
)

Producción:

 

Ejemplo 2: (Datos de Iris del conjunto de datos de Vega)

Python3

# import libraries
import altair as alt
from vega_datasets import data
  
# load data
iris = data.iris()
  
# Draw Facet Scatter Plot
alt.Chart(iris).mark_point().encode(
    x = alt.X('sepalLength'),
    y = alt.Y('sepalWidth'),
    color = 'species'
).properties(width = 250, height = 250).facet(
    'species:N',
    columns = 3
)

Producción:

 

Ejemplo 3: (Datos de automóviles del conjunto de datos de Vega)

Python3

# import libraries
import altair as alt
from vega_datasets import data
  
# load data
cars = data.cars()
  
# Draw Facet Scatter Plot
alt.Chart(cars).mark_point().encode(
    x = alt.X('Displacement'),
    y = alt.Y('Acceleration'),
    size = alt.value(100),
    color = 'Cylinders'
).properties(width = 250, height = 250).facet(
    'Origin:N',
    columns = 3
)

Producción:

Publicación traducida automáticamente

Artículo escrito por deepanshu_rustagi 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 *