Dominando gráficos en Python con Matplotlib y Seaborn

Matplotlib y Seaborn son las bibliotecas más utilizadas en Python para la visualización de datos. Si no conoces las funciones que ofrecen estas bibliotecas pues este tutorial es para ti.
Este artículo te guiará en los principales gráficos para realizar un buen análisis visual de presentación de resultados.

CARGAMOS LAS LIBRERIAS NECESARIAS

CARGA DE DATOS Y DIMENSIONAMIENTO

GRAFICOS MAS UTILIZADOS

  • Gráfico de barras
  • Gráfico de histograma
  • Gráfico de densidades
  • Gráfico Pie
  • Gráfico de correlación
  • Grafico de calor
  • Gráfico de cajas y bigotes
  • Gráfico Waterfall
  • Gráfico Paretto
Gráfico de barras:

Una gráfica de barras tiene barras rectangulares con longitudes proporcionales a los valores que representan. Las gráficas de barras se utilizan para comparar dos o más valores. Las barras pueden ser horizontales o verticales.

Creamos un gráfico para la variable Género

Gráfico histograma y densidades:

Un gráfico de densidad visualiza la distribución de datos en un intervalo o período de tiempo continuo. Este gráfico es una variación de un histograma que usa el suavizado para trazar valores, permitiendo distribuciones más suaves al suavizar el ruido.

Crear un gráfico para la variable Edad usando el módulo Matplotlib

Crear un gráfico comparativo de densidades para las variables Edad e Ingresos anuales con Seaborn

Creando un gráfico de densidades para la variable Edad pero comparándolo con la variable género en gráficos sobre puestos:

Creando gráfico de densidades para la variable Edad, comparándolo con la variable género en gráficos separados:

Gráfico de pie:

Un diagrama de pastel es un círculo dividido en partes, donde el área de cada parte es proporcional al número de datos de cada categoría.

Crearemos una nueva variable “Edad agrupada” para aprovechar el análisis gráfico. Se utilizarán las creaciones a partir de bins con python. Mayor información en este link: https://aprendeia.com/agrupando-los-datos-con-python/

Creamos 5 rangos para la variable edad: “hasta 24”, “25-30”, “31-40”, “41-50”, “51-60”, “60 a más”

Creamos el gráfico de pie de la variable range_edad:

Por defecto, python muestra los valores absolutos con autopct. Utilizamos una función para mostrar los porcentajes en lugar de los absolutos:

Creamos el gráfico de pie con porcentajes por variable:

Como adicional, y para representar de mejor manera la variable range_edad. se muestra como realizar un gráfico de barras en colores:

Gráfico de correlación:

Es una herramienta gráfica que permite demostrar la relación existente entre dos clases de datos y cuantificar la intensidad de dicha relación. Se utiliza para conocer si efectivamente existe una correlación entre dos magnitudes o parámetros de un problema y, en caso positivo, de qué tipo es la correlación.

Creamos un gráfico de correlación para las variables ingresos anuales versus el score de gasto:

También podemos comparar nuestras correlaciones respecto a una variable cualitativa como género:

Gráfico de calor:

Un gráfico de calor se usa para visualizar la relación numérica existente entre dos variables de categorías. Un gráfico de calor consiste en una cuadrícula rectangular compuesta de dos variables de categorías. Cada celda de la cuadrícula se simboliza con un valor numérico.

Realizamos un gráfico de calor para las variables cuantitativas de nuestra base de datos:

Gráfico de cajas:

Un diagrama de caja es un método estandarizado para representar gráficamente una serie de datos numéricos a través de sus cuartiles. De esta manera, se muestran a simple vista la mediana y los cuartiles de los datos, ​ y también pueden representarse sus valores atípicos.

Realizamos un gráfico de cajas para la variable ingresos anuales comparándolos con la nueva variable creada rango de edad:

Podemos variar la forma del gráfico para mostrar las densidades de cada grupo con un diagrama de violines:

O también podemos añadir la dispersión de los datos en cada grupo del gráfico de caja:

Gráfico Waterfall:

Un Gráfico Waterfall o de Cascada es una herramienta de visualización de datos que ayuda a entender la contribución gradual de valores positivos y/o negativos al gran total, además, permite la comparación de un estado inicial y un estado final, y como valores intermedios lo modifican.

Para crear este tipo de gráfico vamos a crear una nueva base de datos con una variable precio (price) y sus valores en un periodo de tiempo mensual.

Creamos las variaciones de la variable precio mes a mes

Con las variaciones (deltas) calculadas podemos utilizar el módulo waterfall_chart para crear el gráfico de cascada, si no tienen el módulo cargado recuerden que pueden cargarlo con el código: pip install waterfallcharts

Podemos mejorar el grafico de cascada añadiendo algunas especificaciones de parámetros del waterfall_chart:

Gráfico Paretto:

Este diagrama se basa en el principio del mismo nombre, el cual establece que el 20% de las causas generar el 80% de los efectos o resultados. Por ejemplo, de todos los problemas de una determinada empresa, el 20% de ellos genera el 80% de sobrecostos.

Para mostrar este tipo de gráfico creamos un nuevo dataframe de ventas para 10 tipos de productos: Producto A, B, C, D, E, F, G, H, I, J.

Como siguiente paso, tenemos que ordenas las ventas descendentemente y graficamos las ventas con un gráfico de barras:

Como tercer paso, creamos una proporción acumulativa de la variable ventas y determinamos el producto en el que las ventas superan el 80% del total:

Para este ejemplo se trata del producto F el cual tiene un índice de posición igual a 6:

Como último paso podemos dibujar de participación de ventas acumuladas con el punto de corte en el producto F:

Descarga el código aquí:

https://github.com/cesarqb/graficos-con-python

Fuentes utilizadas: