Stripplot horizontal con Jitter usando Altair en Python

Prerrequisitos: Altair

Altair es una biblioteca de visualización de datos estadísticos en Python que se basa en las gramáticas de visualización Vega y Vega-Lite. Se utiliza un Stripplot para el análisis de datos gráficos. Es una gráfica simple de valores de respuesta en un orden ordenado a lo largo de un solo eje. El diagrama de franja consta de 2 ejes distintos (X, Y). Los gráficos de franjas ofrecen una alternativa para el histograma y otros gráficos basados ​​en la densidad y, a menudo, se utilizan con conjuntos de datos pequeños. 

Se utiliza un diagrama de franja simple para representar los datos como puntos, lo que puede no ser muy útil para nosotros. Para hacer que el diagrama de franjas simple sea más cultivado, agregamos fluctuaciones aleatorias. Jitter en palabras simples es agregar una pequeña cantidad de variabilidad (horizontal o vertical) a los datos para garantizar que todos los puntos de datos sean visibles. En este artículo discutiremos cómo se logrará horizontalmente.

Acercarse 

  • Módulo de importación
  • Leer o crear datos
  • Ahora, para crear el diagrama de bandas horizontal, intercambiaremos nuestro eje x y nuestro eje y. 
  • Definir jitter para la trama
  • Trace el gráfico 
  • Gráfico de visualización

Función utilizada

calcule_transform() le permite al usuario definir nuevos campos en el conjunto de datos que se calculan a partir de otros campos usando una expresión.

Sintaxis:

calculate_transform(<some_expression>)

Programa:

Python3

import altair as alt
import pandas as pd
import numpy as np
  
  
data_url = 'https://raw.githubusercontent.com/curran/data/gh-pages/geonames/cities1000000.csv'
df = pd.read_csv(data_url)
df.head()
  
  
horizontal_stripplot = alt.Chart(df, width=600, height=100).mark_circle(size=12).encode(
    y=alt.Y(
        'jitter:Q',
        title=None,
        axis=alt.Axis(values=[0], ticks=True, grid=False, labels=False),
        scale=alt.Scale(),
    ),
    x=alt.X('longitude:Q', scale=alt.Scale(domain=(20, 85))),
    color=alt.Color('continent:N', legend=None),
    row=alt.Row(
        'continent:N',
        header=alt.Header(
            labelAngle=0,
            labelFontSize=16,
            titleOrient='top',
            labelOrient='left',
            labelAlign='left',
        ),
    ),
).transform_calculate(
    # Generate Gaussian jitter with a Box-Muller transform
    jitter='sqrt(-2*log(random()))*cos(2*PI*random())'
).configure_facet(
    spacing=0
).configure_view(
    stroke=None
).configure_axis(
    labelFontSize=16,
    titleFontSize=16
)
  
  
horizontal_stripplot

Producción:

Publicación traducida automáticamente

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