La visualización de datos es la técnica de presentar datos en forma de gráficos, tablas o diagramas. La visualización de datos facilita a los analistas de datos analizar las tendencias o patrones que pueden estar presentes en los datos, ya que resume la gran cantidad de datos en un formato simple y fácil de entender.
En este artículo, discutiremos cómo visualizar datos usando plotnine en Python, que es una implementación estricta de la gramática de gráficos. Antes de comenzar, comprendamos un breve resumen sobre qué es la gramática de los gráficos.
¿Qué es la gramática de los gráficos?
Una gramática de gráficos es básicamente una herramienta que nos permite describir los componentes de un gráfico dado. Básicamente, esto nos permite ver más allá de los gráficos nombrados (diagrama de dispersión, por nombrar uno) y básicamente ver las estadísticas subyacentes detrás de él. Considere la gramática de gráficos como la gramática del inglés donde usamos diferentes palabras, tiempos, puntuaciones para formar una oración.
Componentes de Gramática de gráficos
Por lo general, para construir o describir cualquier visualización con una o más dimensiones, podemos usar los componentes que se muestran en la imagen a continuación.
Primero, veremos los tres componentes principales que se requieren para crear una gráfica, y sin estos componentes, plotnine no podría trazar la gráfica. Estos son-
- Los datos son el conjunto de datos que se utiliza para trazar la trama.
- La estética (aes) es el mapeo entre las variables de datos y las variables utilizadas por la trama, como eje x, eje y, color, relleno, tamaño, etiquetas, alfa, forma, ancho de línea, tipo de línea.
- Objetos geométricos (geomas) es el tipo de diagrama u objeto geométrico que queremos usar, como punto, línea, histograma, barra, diagrama de caja, etc.
Hay varios componentes opcionales que pueden hacer que la trama sea más significativa y presentable. Estos son –
- Las facetas permiten dividir los datos en grupos y cada grupo se traza por separado.
- Las transformaciones estadísticas calculan los datos antes de graficarlos.
- Las coordenadas definen la posición del objeto en un plano 2D.
- Los temas definen la presentación de los datos, como fuente, color, etc.
Instalación
El plotnine se basa en ggplot2 en el lenguaje de programación R que se utiliza para implementar la gramática de gráficos en Python. Para instalar plotnine, escriba el siguiente comando en la terminal.
pip install plotnine
Trazado de datos usando Plotnine y ggplot en Python
Aquí usaremos los tres componentes principales, es decir, datos, estética y objetos geométricos para trazar nuestros datos. Repasemos cada componente en detalle.
Datos
Los datos son el conjunto de datos que se necesita trazar. Podemos especificar los datos usando el constructor ggplot y pasando el conjunto de datos a ese constructor.
Ejemplo: especificar un conjunto de datos para ggplot
Usaremos el conjunto de datos de Iris y lo leeremos usando Pandas.
Python3
import pandas as pd from plotnine import ggplot # reading dataset df = pandas.read_csv("Iris.csv") # passing the data to the ggplot # constructor ggplot(df)
Producción:
Esto nos dará una salida en blanco ya que no hemos especificado los otros dos componentes principales.
Estética
Ahora definamos la variable que queremos usar para cada eje en la gráfica. La estética asigna variables de datos a atributos gráficos, como posición 2D y color.
Ejemplo: Definición de la estética de plotnine y ggplot en Python
Python3
import pandas as pd from plotnine import ggplot, aes # reading dataset df = pd.read_csv("Iris.csv") ggplot(df) + aes(x="Species", y="SepalLengthCm")
Producción:
En el ejemplo anterior, podemos ver que la especie se muestra en el eje x y la longitud del sépalo se muestra en el eje y. Pero todavía no hay ninguna figura en la trama. Esto se puede agregar usando objetos geométricos.
Objetos Geométricos
Después de definir los datos y la estética, debemos definir el tipo de trama que queremos para la visualización. Esto le dice a la trama cómo deben mostrarse los puntos de datos. Proporciona una variedad de objetos geométricos como diagramas de dispersión, gráficos de líneas, gráficos de barras, diagramas de caja, etc. Veamos una variedad de ellos y cómo usarlos.
Nota: Para ver la lista de todos los geoms, consulte la referencia API de geoms de plotnine.
Ejemplo 1: agregar objetos geométricos a plotnine y ggplot en Python
Python3
import pandas as pd from plotnine import ggplot, aes, geom_col # reading dataset df = pd.read_csv("Iris.csv") ggplot(df) + aes(x="Species", y="SepalLengthCm") + geom_col()
Producción:
En el ejemplo anterior, hemos utilizado el geom geam_col() que es un gráfico de barras con la base en el eje x. Podemos cambiar esto a diferentes tipos de geoms que encontremos adecuados para nuestra parcela.
Ejemplo 2: trazado de histograma con plotnine y ggplot en Python
Python3
import pandas as pd from plotnine import ggplot, aes, geom_histogram # reading dataset df = pd.read_csv("Iris.csv") ggplot(df) + aes(x="SepalLengthCm") + geom_histogram()
Producción:
Ejemplo 3: Trazar un diagrama de dispersión con plotnine y ggplot en Python
Python3
import pandas as pd from plotnine import ggplot, aes, geom_point # reading dataset df = pd.read_csv("Iris.csv") ggplot(df) + aes(x="Species", y="SepalLengthCm") + geom_point()
Producción:
Ejemplo 4: diagrama de caja con plotnine y ggplot en Python
Python3
import pandas as pd from plotnine import ggplot, aes, geom_boxplot # reading dataset df = pd.read_csv("Iris.csv") # passing the data to the ggplot # constructor ggplot(df) + aes(x="Species", y="SepalLengthCm") + geom_boxplot()
Producción:
Ejemplo 5: gráfico Plottin Line con plotnine y ggplot en Python
Python3
import pandas as pd from plotnine import ggplot, aes, geom_line # reading dataset df = pd.read_csv("Iris.csv") ggplot(df) + aes(x="Species", y="SepalLengthCm") + geom_line()
Producción:
Hasta ahora hemos aprendido cómo crear un gráfico básico usando el concepto de gramática de gráficos y sus tres componentes principales. Ahora, aprendamos cómo personalizar estos gráficos usando los otros componentes opcionales.
Mejorar las visualizaciones de datos usando plotnine y ggplot
Aquí aprenderemos sobre los componentes opcionales restantes. Estos componentes son –
- facetas
- Transformaciones estadísticas
- Coordenadas
- Temas
facetas
Las facetas se utilizan para trazar subconjuntos de datos. permite un gráfico individual para grupos de datos en la misma imagen.
Por ejemplo, consideremos el conjunto de datos de propinas que contiene información sobre las personas que probablemente comieron en un restaurante y si dejaron o no una propina, su edad, sexo, etc. Echémosle un vistazo.
Nota: Para descargar el conjunto de datos utilizado, haga clic aquí .
Ahora supongamos que queremos graficar cuál fue la factura total según el género y en cada día. En tales casos, las facetas pueden ser muy útiles, veamos cómo.
Ejemplo: facetas con plotnine y ggplot en Python
Python3
import pandas as pd from plotnine import ggplot, aes, facet_grid, labs, geom_col # reading dataset df = pd.read_csv("tips.csv") ( ggplot(df) + facet_grid(facets="~sex") + aes(x="day", y="total_bill") + labs( x="day", y="total_bill", ) + geom_col() )
Producción:
Transformaciones estadísticas
Las transformaciones estadísticas significan calcular datos antes de graficarlos. Se puede ver en el caso de un histograma. Ahora consideremos el ejemplo anterior, donde queríamos encontrar la medida de la columna de longitud del sépalo y ahora queremos distribuir esa medida en 15 columnas. La función geom_histogram() de plotnine calcula y traza estos datos automáticamente.
Ejemplo: Transformaciones estadísticas usando plotnine y ggplot en Python
Python3
import pandas as pd from plotnine import ggplot, aes, geom_histogram # reading dataset df = pd.read_csv("Iris.csv") ggplot(df) + aes(x="SepalLengthCm") + geom_histogram(bins=15)
Producción:
Coordenadas
El sistema de coordenadas define la aplicación del punto de datos con la ubicación gráfica 2D en el gráfico. Veamos el ejemplo anterior de histograma, queremos trazar este histograma horizontalmente. Simplemente podemos hacer esto usando la función coord_flip().
Ejemplo: sistema de coordenadas en plotnine y ggplot en Python
Python3
import pandas as pd from plotnine import ggplot, aes, geom_histogram, coord_flip # reading dataset df = pd.read_csv("Iris.csv") ( ggplot(df) + aes(x="SepalLengthCm") + geom_histogram(bins=15) + coord_flip() )
Producción:
Temas
Los temas se utilizan para mejorar el aspecto de la visualización de datos. Plotnine incluye muchos temas que se pueden encontrar en la API de temas de plotnine . Usemos el ejemplo anterior con facetas e intentemos hacer que la visualización sea más interactiva.
Ejemplo: Temas en plotnine y ggplot en Python
Python3
import pandas as pd from plotnine import ggplot, aes, facet_grid, labs, geom_col, theme_xkcd # reading dataset df = pd.read_csv("tips.csv") ( ggplot(df) + facet_grid(facets="~sex") + aes(x="day", y="total_bill") + labs( x="day", y="total_bill", ) + geom_col() + theme_xkcd() )
Producción:
También podemos rellenar el color de acuerdo a añadir más información a este gráfico. Podemos agregar color a la variable de tiempo en el gráfico anterior usando el parámetro de relleno de la función aes.
Trazado de datos multidimensionales
Hasta ahora hemos visto cómo graficar más de 2 variables en el caso de las facetas. Ahora supongamos que queremos graficar datos usando cuatro variables, hacer esto con facetas puede ser un poco agitado, pero usando el color podemos graficar 4 variables en la misma gráfica solamente. Podemos rellenar el color usando el parámetro de relleno de la función aes().
Ejemplo: agregar color a plotnine y ggplot en Python
Python3
import pandas as pd from plotnine import ggplot, aes, facet_grid, labs, geom_col, theme_xkcd # reading dataset df = pd.read_csv("tips.csv") ( ggplot(df) + facet_grid(facets="~sex") + aes(x="day", y="total_bill", fill="time") + labs( x="day", y="total_bill", ) + geom_col() + theme_xkcd() )
Producción:
Guardar la trama
Simplemente podemos guardar la trama usando el método save(). Este método esportará la trama como una imagen.
Ejemplo: Guardar plotnine y ggplot en Python
Python3
import pandas as pd from plotnine import ggplot, aes, facet_grid, labs, geom_col, theme_xkcd # reading dataset df = pd.read_csv("tips.csv") plot = ( ggplot(df) + facet_grid(facets="~sex") + aes(x="day", y="total_bill", fill="time") + labs( x="day", y="total_bill", ) + geom_col() + theme_xkcd() ) plot.save("gfg plotnine tutorial.png")
Producción:
Publicación traducida automáticamente
Artículo escrito por GeeksforGeeks-1 y traducido por Barcelona Geeks. The original can be accessed here. Licence: CCBY-SA