Plotnine: Python alternativa a ggplot2

 nombre-figura

Los usuarios ávidos de R saben que ggplot2 está ahí para simplificar su vida cuando se trata de análisis de datos exploratorios y visualización de datos. Facilita la creación de gráficos elegantes y potentes que pueden ayudar a descifrar las relaciones subyacentes en los datos.

Las bibliotecas de trazado de Python como matplotlib y seaborn también permiten al usuario crear gráficos elegantes, pero la falta de una sintaxis estandarizada para implementar la gramática de los gráficos en comparación con el enfoque simple, legible y de capas de ggplot2 en R lo hace más difícil de implementar en Python.

La respuesta a este problema radica en Plotnine .

El estilo que diría es 99% similar a ggplot2 en R. La principal diferencia sería el uso de paréntesis, como verá en algunos ejemplos cortos a continuación. Una de las mejores conclusiones del uso de plotnine es que la salida es básicamente la misma que obtendría en R. No existe una diferencia visual sorprendente.

Hay muchas opciones para la API en plotnine que podemos usar para hacer nuestros gráficos.

 (
ggplot (mtcars, aes ('wt', 'mpg', color = 'factor (cyl)'))
+ geom_point ()
+ laboratorios (título = "Millas por galón vs Peso", x = "Peso", y = "Millas por galón")
+ guías (color = guide_legend (title = "Número de cilindros")))
 figura-nombre

Uno de los principales puntos de venta de ggplot en R es la capacidad de FACET . También tenemos muchas opciones para trazar subconjuntos de nuestros datos con una sola línea de código.

 (ggplot (mtcars, aes ('wt', 'mpg', color = 'factor (cyl)'))
+ geom_point ()
+ laboratorios (título = "Millas por galón vs Peso", x = "Peso", y = "Millas por galón")
+ guías (color = guide_legend (title = "Cilindros"))
+  facet_wrap ("engranaje") 
)
 figura-nombre

simplemente agregando facet_wrap ('engranaje') al final del código anterior, ahora tenemos un diagrama facetado. En realidad, esto es mucho más simple que usar Matplotlib y Seaborn. Matplotlib requerirá que cree un gráfico separado para cada conjunto de variables que desee trazar (por ejemplo, el gráfico anterior tiene 3 gráficos, por lo que tendrá que crear 3 gráficos) y Seaborn es más simple que Matplotlib, pero requerirá el uso de un diferentes comandos que pueden confundir a un usuario inexperto.

Mejoras estéticas

No tiene sentido crear todas estas imágenes sin formatearlas correctamente.

 (ggplot (mtcars, aes ('wt', 'mpg', color = 'factor (cyl)',  tamaño = 'hp' ))
+ geom_point ()
+  theme_bw () 
+ laboratorios (título = "Millas por galón vs Peso", x = "Peso", y = "Millas por galón")
+ guías (color = guide_legend (title = "Cilindros"))
+ facet_wrap ('engranaje')
)
 figura-nombre

Al agregar el size = 'hp' podemos obtener otra idea de los datos (la cantidad de caballos de fuerza) y theme_bw () para dar un Formato estandarizado de la trama con un bonito tema simple. theme_bw () es ese comando de tema que cualquier usuario de R de ggplot2 sabrá. Es básicamente el tema de facto utilizado antes de experimentar con otros temas y formatear.

Vea cómo podemos integrar ipywidgets con Plotnine, Jupyter Notebook y JupyterLab .

A medida que avanzamos Más profundamente vemos que Plotnine nos brinda esa API simple y visuales impresionantes que obtenemos al usar ggplot2 en R. La capacidad de formatear la trama con una sola línea de código está disponible en Seaborn pero no en Matplotlib. Seaborn en sí tiene sus similitudes con Plotnine y ggplot2 de alguna manera, pero la sintaxis fácil de descifrar es lo que le da un punto de venta único para hacer el cambio.

Relacionado:

Dejá un comentario