Estás leyendo la publicación: Una guía práctica de JoyPy para dibujar Joyplots interactivos
Comprender la distribución de datos es muy importante en el análisis de datos y se puede hacer fácilmente utilizando diferentes tipos de visualizaciones. Además, a veces, necesitamos hacer gráficos de densidad apilados y parcialmente superpuestos para una mejor comprensión. JoyPY es un paquete de Python que nos ayuda a trazar tales visualizaciones a través de Joyplot. Un Joyplot es una serie de histogramas, diagramas de densidad o series de tiempo para varios segmentos de datos, todos alineados en la misma escala horizontal. En este artículo, vamos a discutir cómo podemos hacer Joyplots usando el paquete JoyPy. Los puntos principales que se discutirán en el artículo se enumeran a continuación.
Tabla de contenido
- Acerca de JoyPY
- ¿Qué son los Joyplots?
- Joyplots usando JoyPy
Comencemos con una introducción rápida a JoyPy.
¿Sobre JoyPy?
JoyPy es un paquete de Python de código bajo que puede ayudarnos en la visualización basada en gráficos de líneas de cresta. Está diseñado principalmente usando Matplotlib y Pandas. Para dibujar las gráficas de las crestas que se llaman joyplots, este paquete toma códigos de las gráficas kdes de Pandas. Esta biblioteca se puede comparar con el paquete R ggridges que también se denomina ggjoy en su versión anterior.
¿Qué son los diagramas de alegría?
En palabras simples, los diagramas de alegría son diagramas de densidad, pero el apilamiento y la superposición los hacen diferentes de los diagramas de densidad. Principalmente utilizamos este tipo de gráfico para la distribución cruzada de los datos. Los gráficos de densidad son muy útiles para medir los cambios en los datos en una dimensión. El apilamiento y la superposición parcial los hacen más útiles para comprender la distribución de los datos. También podemos llamar a estas parcelas parcelas de cresta.
La visualización anterior se puede considerar como un ejemplo de diagramas de alegría. Veamos cómo podemos comenzar con joyplots usando JoyPy.
Joyplots usando JoyPy
En la implementación, comenzaremos con diagramas de alegría muy básicos utilizando el conjunto de datos de iris de scikit learn. Antes de trazar datos, necesitamos instalar joyPy, que se puede realizar usando las siguientes líneas de códigos.
!pip instalar joypy
Producción:
Ahora estamos listos para dibujar joyplots usando el lenguaje python. Llamemos a las bibliotecas importantes
importar joypy importar pandas como pd importar numpy como np desde matplotlib importar pyplot como plt desde matplotlib importar cm desde sklearn.datasets importar load_iris
Llamemos a los datos de iris proporcionados por sklearn.
iris, y = load_iris(as_frame=True, return_X_y=True) iris.columns = [“SepalLength”,”SepalWidth”,”PetalLength”,”PetalWidth”]
iris[“Name”] = y.reemplazar([0,1,2], [‘setosa’, ‘versicolor’, ‘virginica’]) iris
Producción:
En lo anterior, podemos ver nuestro conjunto de datos. Verifiquemos la densidad de nuestros datos usando JoyPy.
%matplotlib figura en línea, ejes = joypy.joyplot(iris)
Producción:
Aquí podemos ver un ejemplo de un diagrama de alegría o también podemos llamarlo un diagrama de línea de cresta de datos de iris.
También sabemos que con los datos que tenemos un grupo de nombres también podemos trazar un diagrama de alegría usando los diferentes grupos. Para hacer esto, solo debemos pasar el nombre de la variable que tiene información de grupo en los datos.
higo, ejes = joypy.joyplot(iris, by=”Name”)
Producción:
Digamos que en cualquier conjunto de datos tenemos el tamaño del eje y en un tamaño mayor que simplemente definiendo límites, podemos comprimirlo de la siguiente manera:
higo, ejes = joypy.joyplot(iris, por=”Nombre”, ylim=’propio’)
Producción:
En la visualización anterior, podemos ver que la subparcela no es comparable directamente debido a la superposición, podemos ajustarla usando el factor de superposición.
higo, ejes = joypy.joyplot(iris, por=”Nombre”, superposición=3)
Producción:
También podemos comprobar la distribución de los datos mediante el histograma.
higo, ejes = joypy.joyplot(iris, by=”Name”, column=”SepalWidth”, hist=True, superposición=0)
Producción:
Aquí conocimos cómo podemos usar JoyPy para generar diagramas de alegría de los datos de manera eficiente. Por supuesto, podemos realizar más cosas en nuestros joyplots. Usemos algunos otros conjuntos de datos, por ejemplo, estamos usando la temperatura global como nuestro conjunto de datos que se puede encontrar aquí.
Importemos y veamos los detalles de nuestro conjunto de datos.
df = pd.read_csv(‘https://raw.githubusercontent.com/leotac/joypy/master/data/daily_temp.csv’,comment=”%”) df
Producción:
En los datos, podemos ver las columnas de anomalías que representan la diferencia entre los valores diarios. Usando estos datos vamos a dibujar un joyplot agrupando los años.
etiquetas=[y if y%10==0 else None for y in list(df.Year.unique())]
fig, axes = joypy.joyplot(df, por=”Año”, columna=”Anomalía”, etiquetas=etiquetas, range_style=”propio”, linewidth=1, legend=True, figsize=(6,5), title= “Temperatura diaria global 1880-2014”, colormap=cm.autumn_r)
Producción:
Aquí, en el gráfico, podemos ver cómo la distribución de temperatura diaria de nuestros datos cambió a lo largo del tiempo. También podemos hacer que use más la función de cuadrícula para mapear mejor la trama.
fig, axes = joypy.joyplot(df, por=”Año”, columna=”Anomalía”, etiquetas=etiquetas, range_style=”propio”, grid=”y”, linewidth=0, legend=True, figsize=(6 ,5), fade=True, title=”Temperatura diaria global 1880-2014″, colormap=cm.autumn_r)
Producción:
Aquí también hemos proporcionado valor cero a la función de ancho de línea. También podemos hacerlo difuminado para una mejor comprensión de los datos.
Aquí tenemos una visión mucho más clara de la distribución de temperatura. También podemos cambiar el fondo y el color de las líneas.
fig, axes = joypy.joyplot(df,by=”Year”, column=”Anomalía”, ylabels=False, xlabels=False, grid=False, fill=False, background=’k’, linecolor=”g”, linewidth=1, legend=False, superposición=0.5, figsize=(6,5),kind=”counts”, bins=80)
Producción:
Ahora, la distribución de los datos se ha trazado de manera diferente a los otros gráficos. Tal vez las cosas no estén claras, pero lo realicé solo para que sepamos cómo, usando un solo comando, podemos realizar cambios en la visualización usando el paquete JeoPy.
Ultimas palabras
En este artículo, analizamos el uso del paquete JoyPy que es similar al paquete ggjoy en R. Realizamos algunas de las visualizaciones y vimos cómo podemos cambiarlas de acuerdo con diferentes situaciones y medidas para hacer diagramas de alegría.
Referencias