Está en la página 1de 66

Curso Básico de Visualización

de Datos con Matplotlib y


Seaborn
La importancia de la visualización de
datos
La visualización de datos es importante porque te permite entender a profundidad
tendencias, valores o patrones de datos representados a través de representación
gráfica de la información.

Permite mayor contexto


Supón que tienes los datos y sabes hacer análisis estadísticos como desviación
estándar o correlación, pero esto no da el total de los datos. Por ejemplo, al
visualizarlos de manera gráfica, usando un dataset como Datasaurus, puedes ver
representaciones diferentes a pesar de tener la misma información.

Permite hallazgos en nuestros datos


La visualización de datos te permite encontrar hallazgos directamente y de manera
muy sencilla, como por ejemplo:

Hallar tendencias

Comportamientos

Detectar Outliers

Permite mayor claridad en el código


También se utiliza en la ciencia de datos orientada hacia el machine learning o
inteligencia artificial, como las líneas de entrenamiento. Esto hace parte de un
entrenamiento de cualquier algoritmo pues siempre vas a estar analizando esto y la
manera más fácil de entenderlo a través de visualizaciones.

Curso Básico de Visualización de Datos con Matplotlib y Seaborn 1


Librerías para visualización de datos
En la visualización de datos encontrarás dos librerías muy importantes para
empezar:

Matplotlib
Emula los comandos de Matlab

Usa Numpy

Escrita en Python

Es muy simple de escribir

Rápida

Personalizable

Seaborn
Librería montada sobre Matplotlib

¿Qué deberías saber antes de empezar en la


visualización de datos?
Para que tu camino en la visualización de datos sea más provechoso te
recomendamos tener conocimientos previos en:

Tipos de visualizaciones de datos

Python

Pandas y Numpy

Pyplot básico
Pyplot es una herramienta que tiene Matplotlib para ejecutar gráficas de manera
sencilla. Veamos cómo puedes lograrlo.

¿Cómo empezar a usar Pyplot?


Importamos Matplotlib y Pandas

import matplotlib.pyplotas plt


import numpyas np

Curso Básico de Visualización de Datos con Matplotlib y Seaborn 2


Creamos nuestras variables

x = linspace(0,5,11)
-> [0. , 0.5, 1. , 1.5 ,2. , 2.5, 3., 3.5, 4., 4.5, 5. ]
y = x ** 2
-> [ 0. , 0.25, 1. , 2.25, 4. , 6.25, 9. , 12.25, 16. ,20.25, 25.]

Graficar en función de y

plt.plot(x,y)
plt.show()

Modificar gráficas usando Pyplot


Ahora, vamos a cambiar color de la gráfica

Character color

‘b’ blue

‘g’ green

‘m’ magenta

Curso Básico de Visualización de Datos con Matplotlib y Seaborn 3


plt.plot(x,y, 'm')
plt.show()

Cambiar más parámetros


Format Strings

character description

‘.’ point marker

‘,’ pixel marker

‘o’ circle marker

‘v’ triangle_down marker

‘^’ triangle_up marker

‘<’ triangle_left marker

‘>’ triangle_right marker

Line Styles

character description

‘-’ solid line style

Curso Básico de Visualización de Datos con Matplotlib y Seaborn 4


character description

‘–’ dashed line style

‘-.’ dash-dot line style

‘:’ dotted line style

plt.plot(x,y, 'yD:')#grafica de color amarillo, con diamantes y puntos consecutivos


plt.show()

Crear histograma

plt.hist(y) #histogramade los valoresde y


plt.show()

Curso Básico de Visualización de Datos con Matplotlib y Seaborn 5


Crear gráfica de pie

plt.pie(y)
plt.show()

Conocer correlación entre variables

Curso Básico de Visualización de Datos con Matplotlib y Seaborn 6


plt.scatter(x,y) #correlacion entrela variable xe y
plt.show()

Distribución de los datos


Distribución de los datos: Gráfico de caja

plt.boxplot(x)
plt.show()

Curso Básico de Visualización de Datos con Matplotlib y Seaborn 7


Subplot
Subplot permite crear gráficos dentro de una gráfica. Esto lo hace a través de
una matriz de gráficos y se puede acceder a ellos a través de índices:

Cómo acceder a la matriz de gráficos en Subplot

import matplotlib.pyplotas plt


import numpyas np

x = np.linspace(0,5,11)
y = x ** 2

Parámetros en Subplot
Los parámetros de subplot funcionan:

Filas Columnas Index

Crear fila y dos columnas


Crear una matriz de gráficos de una fila y dos columnas

Curso Básico de Visualización de Datos con Matplotlib y Seaborn 8


plt.subplot(1,2,1) # Grafico 1
plt.plot(x,y, 'r--')

plt.subplot(1,2,2) # Gráfico 2
plt.pie(y)
plt.show()

Agregar diferentes Plot al gráfico

plt.subplot(1,2,1)
plt.plot(x,y, 'r--') # Plot 1
plt.plot(y,x, 'b:') #Plot 2

plt.subplot(1,2,2)
plt.pie(y)
plt.show()

Curso Básico de Visualización de Datos con Matplotlib y Seaborn 9


Invertir la matriz de los gráficos

plt.subplot(2,1,1)#Grafico 1
plt.plot(x,y,'r--')#Plot 1
plt.plot(y,x,'b:')#Plot 2

plt.subplot(2,1,2)#Grafico 2
plt.pie(y)#Plot 1
plt.show()

Curso Básico de Visualización de Datos con Matplotlib y Seaborn 10


Método orientado a objetos
Hay distintas maneras de hacer gráficas dentro de Matplotlib, ya vimos pyplot; sin
embargo, es muy complicado personalizarla y entrar a ciertos parámetros.

Método orientado a objetos en Matplotlib


Un objeto define una figura, esa figura es un lienzo en el cual podemos introducir
diferentes gráficas(axes), de las cuales cada una posee sus propios ejes(axis).

La figura representa el todo, dentro de ella vamos a configurar gráficas las cuales
contienen diferentes ejes.

Es un poco más complicado, pero en el mismo gráfico podemos personalizarlo


mucho mejor.

Curso Básico de Visualización de Datos con Matplotlib y Seaborn 11


Diferencias entre Pyplot y Object Oriented
Pyplot Object Oriented

Rápido Mayor personalización

Fácil Más código

Una sola figura Más amigable a múltiples diagramas

Implementar el método orientado a objetos para


graficar en Matplotlib

import matplotlib.pyplotas plt


import numpyas np

x = np.linspace(0,5,11)
y = x ** 2

Parámetros de axes:
Pos. Eje x Pos. Eje y Size graph eje x Size graph eje y

Utilizamos el concepto de objeto para crear una gráfica más personalizable

Curso Básico de Visualización de Datos con Matplotlib y Seaborn 12


fig = plt.figure()
axes = fig.add_axes([0.1,0.1,0.5,0.9])
axes.plot(x,y, 'b')
plt.show()

Podemos crear varias gráficas dentro del lienzo llamando el método fig.

fig = plt.figure()
axes = fig.add_axes([0.1,0.1,0.8,0.9])
axes2 = fig.add_axes([0.17,0.55,0.4,0.3])

axes.plot(x,y, 'b')
axes2.plot(y,x, 'r:')
axes2.set_facecolor('grey')
plt.show()

Curso Básico de Visualización de Datos con Matplotlib y Seaborn 13


Subplots 2
Con subplots se puede trabajar en un arreglo de gráficas a las cuales se accede a
través de los índices.

Cómo trabajar con subplots para graficar


Creamos los datos que vamos a utilizar

import matplotlib.pyplot as plt


import numpyas np

x = np.linspace(0,5,11)
y = x**2

Crear una gráfica tipo Fig


Para crear una gráfica que sea tipo Fig. necesitas trabajar el siguiente código:

fig, axes = plt.subplots()


axes.plot(x,y)

Curso Básico de Visualización de Datos con Matplotlib y Seaborn 14


plt.show()

Varias gráficas tipo fig.

fig, axes = plt.subplots(nrows=1, ncols=2)


axes[0].plot(x,y,'b')
axes[1].plot(y,x,'r')
plt.show()

Curso Básico de Visualización de Datos con Matplotlib y Seaborn 15


Acceder a los gráficos mediante el nombre almacenado en una tupla.

fig, (axes1,axes2) = plt.subplots(nrows=1, ncols=2)


axes1.plot(x,y,'b')
axes2.plot(y,x,'r')
plt.show()

Curso Básico de Visualización de Datos con Matplotlib y Seaborn 16


Generar una matriz de tipo fig, con dos filas y cuatro columnas

fig, axes = plt.subplots(2,4)

#genera un trazo accediendoa las graficasa travesdel indice de la matriz


axes[0,0].plot(x,y)
axes[0,1].plot(y,x, 'r')

fig.tight_layout()#mejora la visualización de los ejes de cada gráfico

Alternativa para generar una matriz de tipo fig, accediendo a cada gráfica


mediante los nombres dados en una tupla

fig, ((axes1, axes2, axes3, axes4), (axes5, axes6, axes7, axes8)) = plt.subplots(2,4)
ax1.plot(x, np.sin(x), 'b')
ax2.plot(y, np.cos(x), 'purple')
ax3.plot(x, np.tan(y), 'orange')
ax4.plot(y, np.cos(y)**2, 'black')

#mejorar la visualización de las figuras


fig.tight_layout()

Curso Básico de Visualización de Datos con Matplotlib y Seaborn 17


Leyendas, etiquetas, títulos, tamaño
Para dar contexto a nuestros gráficos necesitamos usar títulos, leyendas, tamaño o
etiquetas, para que nuestra gráfica tenga un contexto más amplio.

Cómo dar contexto a los gráficos


Creamos nuestras gráficas comunes

fig, (ax1,ax2) = plt.subplots(1,2)


ax1.plot(x,y, 'b')
ax2.plot(y,x, 'r')
plt.show()

Contexto a los gráficos con títulos


Para crear los títulos realiza lo siguiente:

fig, (ax1,ax2) = plt.subplots(1,2)


ax1.plot(x,y, 'b')
ax1.set_title("Relacion X - Y")

ax2.plot(y,x, 'r')
ax2.set_title("Relacion Y - X")

Curso Básico de Visualización de Datos con Matplotlib y Seaborn 18


Contexto agregando etiquetas
Agrega labels en los ejes

fig, (ax1,ax2) = plt.subplots(1,2)


ax1.plot(x,y, 'b', )
ax1.set_title("Relacion X - Y")
ax1.set_xlabel("X")
ax1.set_ylabel("Y")

ax2.plot(y,x, 'r')
ax2.set_title("Relacion Y - X")
ax2.set_xlabel("Y")
ax2.set_ylabel("X")

Curso Básico de Visualización de Datos con Matplotlib y Seaborn 19


Cambiar el tamaño a las figuras
Realiza la siguiente acción:

fig, (ax1,ax2) = plt.subplots(1,2, figsize= (1,10))

Curso Básico de Visualización de Datos con Matplotlib y Seaborn 20


Aplicar etiquetas (por defecto pone la mejor opción)

fig, (ax1,ax2) = plt.subplots(1,2)


ax1.plot(x,y, 'b',label = "sin(x)")
ax1.set_title("Relacion X - Y")
ax1.set_xlabel("X")

Curso Básico de Visualización de Datos con Matplotlib y Seaborn 21


ax1.set_ylabel("Y")
ax1.legend()

Modificar la localización de la etiqueta

ax1.legend(loc = "upper center")

Curso Básico de Visualización de Datos con Matplotlib y Seaborn 22


Otras ubicaciones

upper right upper left lower left lower right right

Iterar a través de todos los axes

rows = 3
cols = 3
fig, axes = plt.subplots(nrows=rows, ncols=cols, figsize=(12,6)

for row in range(rows):


for column in range(cols):
axes[row,col].plot(x,np.sin(x))
axes[row,col].set_title("sin(x)")

fig.tight_layout()

Curso Básico de Visualización de Datos con Matplotlib y Seaborn 23


Colores y estilos
Podemos personalizar mejor nuestros gráficos con diferentes colores y estilos, así,
se entenderá mucho mejor nuestras gráficas.

Cómo agregar colores y estilos en Matplotlib


Estilos de gráficas que hay

print(plt.style.available)
---> Muestra los stilos que tiene matplot

Usar un estilo de grilla

plt.style.use('seaborn-whitegrid')

Curso Básico de Visualización de Datos con Matplotlib y Seaborn 24


Personalizar colores y estilos en Matlab

fig, ax = plt.subplots(figsize = (6,6))


ax.plot(x,x+1, 'r--')
ax.plot(x,x+2, 'bo-')
ax.plot(x,x+3, 'g.:')
ax.plot(x,x+4, 'purple')

Curso Básico de Visualización de Datos con Matplotlib y Seaborn 25


Personalizar colores y estilos en Pyplot
Para personalizar con pyplot es un poco más largo cuando programamos, pero se
puede personalizar muchísimo más

Color

fig, ax = plt.subplots(figsize = (6,6))


ax.plot(x,x+1,color = '#D426C8') --->Color RGB
ax.plot(x,x+2,color = '#66FF89')

ax.plot(x,x+3,color = 'blue') -->Color común


ax.plot(x,x+4,color = 'black')

Transparencia  (alpha)  y grosor  (linewidth)

Curso Básico de Visualización de Datos con Matplotlib y Seaborn 26


fig, ax = plt.subplots(figsize = (6,6))
ax.plot(x,x+1,color = '#D426C8', alpha= 0.5, linewidth= 18)
ax.plot(x,x+2,color = '#66FF89', linewidth= 3)
ax.plot(x,x+3,color = 'blue', linewidth= 5)
ax.plot(x,x+4, color = 'black', alpha = 0.3, linewidth= 12)

Estilo  (linestyle)  y marcadores  (marker)

fig, ax = plt.subplots(figsize = (6,6))


ax.plot(x,x+3,color = 'blue', linestyle = 'dashed',marker = 'x')
ax.plot(x,x+4,color = 'black',linestyle = '--',marker = 'P')

Curso Básico de Visualización de Datos con Matplotlib y Seaborn 27


Tamaño de marcadores  (markersize)  y color  (markerfacecolor)

fig, ax = plt.subplots(figsize = (6,6))


ax.plot(x,x+3,color = 'blue', linestyle = 'dashed',marker = '8', markersize = 10, mark
erfacecolor= "#37D842")

ax.plot(x,x+4,color = 'black',linestyle = '--',marker = 'P', markerfacecolor="#FF000


0")

Curso Básico de Visualización de Datos con Matplotlib y Seaborn 28


Bar Plot
El gráfico de barras nos permite graficar variables categóricas, es decir, variables de
texto, lo que es muy importante en el mundo de la ciencia de datos y Matplotlib
ofrece ciertas características que nos facilita la vida en cuanto a graficar este tipo de
variables.
Vamos al código para que sepas cómo hacerlo.

Cómo empezar a crear Bar Plot


Importamos librerías

Curso Básico de Visualización de Datos con Matplotlib y Seaborn 29


import matplotlib.pyplotas plt
import numpyas np

Variables categóricas

countrys = ["INDIA", "JAPAN", "MEXICO", "COLOMBIA", 'GERMANY']


population = [5000, 800, 900, 1000, 300]

Gráfica de barras

plt.bar(countrys,population)
plt.show()

Modificar colores y tamaño

plt.bar(countrys,population, width=0.5, color= ["aqua", "grey", "teal", "crimson", "v


iolet"])
plt.show()

Curso Básico de Visualización de Datos con Matplotlib y Seaborn 30


Modificar los nombres de las variables en el eje ‘X’ con  xticks

plt.bar(countrys,population,width=0.5,color= ["aqua", "grey", "teal", "crimson", "viol


et"])
plt.xticks(np.arange(5), ('India','Japon', 'Mexico', 'Colombia', 'Alemania'), rotation
= 45)
plt.show()

Curso Básico de Visualización de Datos con Matplotlib y Seaborn 31


Crear un gráfico de manera horizontal con  barh

plt.barh(countrys,population)
plt.show()

Crear otro tipo de gráficas


Existen otros tipos de gráficos que Matplotlib nos proporciona para ser mucho más
certeros en nuestros análisis.

Crear otros tipos de gráficos en Matplotlib


Datos

data = np.random.randint(1,50,100)

Crear un gráfico tipo histograma

plt.hist(data)
plt.show()

Curso Básico de Visualización de Datos con Matplotlib y Seaborn 32


Número de barras con  Bins

plt.hist(data,bins=50)
plt.show()

Cambiar estilo

Curso Básico de Visualización de Datos con Matplotlib y Seaborn 33


plt.hist(data,bins=10,histtype='step')
plt.show()

Crear un gráfico tipo Boxplot

plt.boxplot(data)#Muestrarangointercuartilylamedianaplt.show()

Curso Básico de Visualización de Datos con Matplotlib y Seaborn 34


Cambiar dirección, rellenar el rango inter cuartil  patch_artist  y enfocar la
mediana  notch

plt.boxplot(data, vert=False, patch_artist=True, notch=True)


plt.show()

Quitar Outliers  Showfliers

Curso Básico de Visualización de Datos con Matplotlib y Seaborn 35


data = np.append(data, 200)
plt.boxplot(data, vert=False, patch_artist=True, notch=True, showfliers=False)
plt.show()

Crear un gráfico tipo Scatter


Cargamos Datos

Curso Básico de Visualización de Datos con Matplotlib y Seaborn 36


N = 50
x = np.random.rand(N)
y = np.random.rand(N)
area = (30 * np.random.rand(N)) **2
colors = np.random.rand(N)

Color y marker

plt.scatter(x,y, s=area, c= colors, marker = 'v') # cambiar el marker


plt.show()

Curso Básico de Visualización de Datos con Matplotlib y Seaborn 37


Transparencia para ver los superpuestos

plt.scatter(x,y, s=area, c= colors, marker = 'o', alpha= 0.5) # transparencia


plt.show()

Seaborn

Curso Básico de Visualización de Datos con Matplotlib y Seaborn 38


Seaborn es una librería construida sobre Matplotlib, por lo que hereda todas las
bondades de la misma. Fue escrita por Michael Waskom y está integrada
para estructuras de Pandas por lo que está optimizada para funcionar con
DataFrames.

Cuáles son las ventajas de Seaborn


Seaborn tiene diferentes ventajas y entre ellas encuentras principalmente:

Tiene una gran velocidad

Facilidad para escribir código

Altamente customizable entre gráficas y visualizaciones

Cuál es la estructura Básica de Seaborn

sns.'Tipo deGrafica'(
data='Dataset',
x='Data en el eje x',
y='Data en el eje y',
hue='Variable de agrupamiento')

Tipos de Gráficas que tiene Seaborn


Seaborn ofrece ciertas características principales para problemas específicos de
visualización de datos:

Diagramas o gráficas relacionables

Distribución de datos

Graficar variables categóricas

Por ejemplo:

Relplot (relacional): scatterplot, lineplot.

Displot (distribuciones): histplot, kdeplot, ecdfplot, rugplot.

Catplot (categorica): stripplot, swamplot, boxplot, violinplot, pointplot, barplot.

Set

Curso Básico de Visualización de Datos con Matplotlib y Seaborn 39


Set es un método de Seaborn que permite configurar el estilo, fuente y color de las
gráficas.

Cómo usar Set


Escribe el siguiente código:

import seabornas sns


import matplotlib.pyplotas plt

Crear gráficas de Barplot


Para generar gráficas de Barplot puedes hacerlo utilizando el siguiente código.

sns.barplot(x=['A','B','C'], y=[1,3,2])
plt.show()

Configurar fuentes y estilos


Configura el estilo, la paleta de colores, la fuente y el tamaño de la fuente de la
gráfica.

sns.set(style='dark',palette='dark',font="Verdana", font_scale=1)
sns.barplot(x=['A','B','C'], y=[1,3,2])
plt.show()

Curso Básico de Visualización de Datos con Matplotlib y Seaborn 40


¿Qué necesitas saber al usar Set?
Este parámetro afecta a todas las gráficas que creamos, incluidas las que no
usan Seaborn.

Podemos resetear los valores utilizando el método reset_orig.

Este parámetro es un atajo de set_theme, que es el recomendado según la


documentación

Parámetros más usados con Seaborn


Seaborn tiene una gran variedad de gráficos, pero también tiene ciertos
parámetros para cada gráfico, vamos a ver cuáles son los más comunes:

Cada uno de los gráficos utiliza ciertos parámetros que tu podrás gestionar.
Empieza importando las librerías y el Dataset que vas a usar.

import seabornas sns


import matplotlib.pyplotas plt

tips = sns.load_dataset('tips') ---> Dataset de seaborn


tips

Curso Básico de Visualización de Datos con Matplotlib y Seaborn 41


Puedes usar ’ ; ’ al final de la linea de código para remplazar el
'plt.show()'FELIX DAVID CORDOVA GARCIA, Platzinauta

Gráfico de frecuencia para el total de la cuenta

Tipo de gráfica Dataset X

.displot tips ‘total_bill’

Pasos para usar los parámetros

sns.displot(data= tips, x= 'total_bill');

Curso Básico de Visualización de Datos con Matplotlib y Seaborn 42


Agregamos una variable ‘Y’, pero seaborn reconoce que en gráfico de
frecuencias no es la mejor opción y lo adapta automáticamente.

sns.displot(data= tips, x= 'total_bill', y= 'tip');

Hacer agrupamiento por una variable  hue

sns.displot(data= tips, x= 'total_bill', y= 'tip', hue = 'sex');

Curso Básico de Visualización de Datos con Matplotlib y Seaborn 43


Cambiar el tipo de gráfica  kind

sns.displot(data= tips, x= 'total_bill', hue = 'sex', kind = 'kde');

Curso Básico de Visualización de Datos con Matplotlib y Seaborn 44


Quitar la legenda, cambiar la paleta de colores y su transparencia

sns.displot(data= tips, x= 'total_bill', hue = 'sex', kind = 'kde', legend= False, pal
ette='dark', alpha = .5);

Curso Básico de Visualización de Datos con Matplotlib y Seaborn 45


Distribuciones
Seaborn ofrece algunas gráficas u opciones que te permiten trabajar con
distribuciones orientadas a tipos de datos numéricos. Veamos como puedes lograrlo
utilizando código.

Uso de .kde y .displot para graficar distribuciones


Gráfico para distribuciones y que se acumulen  cumulative

sns.histplot(data = tips, x= 'tip', bins = 15, cumulative=True)

Curso Básico de Visualización de Datos con Matplotlib y Seaborn 46


Como muestra en el eje y  stat , presentar los datos  multiple

sns.histplot(data = tips, x= 'tip', bins = 15, hue= 'sex',stat = 'density', multiple=


'dodge');

Uso de .kde

Curso Básico de Visualización de Datos con Matplotlib y Seaborn 47


Gráfica de densidad

sns.kdeplot(data=tips, x='tip', hue='sex');

Con acumulación

sns.kdeplot(data=tips, x='tip', hue='sex', cumulative=True);

Curso Básico de Visualización de Datos con Matplotlib y Seaborn 48


Crea una área debajo de la curva

sns.kdeplot(data=tips, x='tip', hue='sex', shade=True);

Uso de .displot
Gráfica de distribución

Cambiar tipo de gráfica con  kind .

sns.displot(data = tips, x = 'tip', hue = 'sex',kind= 'hist', multiple= 'stack');

Curso Básico de Visualización de Datos con Matplotlib y Seaborn 49


Nota: Para descargarlos y usarlos en otro lado pueden usar el
plt.savefig(“name.png”)

Categóricos
Seaborn ofrece diferentes gráficos para graficar datos categóricos o variables de
texto. A continuación verás el código que podrás usar para gráficar este tipo de
datos.

Tipos de datos categóricos para graficar en Seaborn


Empieza importando los datos que necesitas de las librerías

import seaborn as sns


import matplotlib.pyplot as plt

Curso Básico de Visualización de Datos con Matplotlib y Seaborn 50


tips = sns.load_dataset('tips')
tips.head(2)

Gráfica de cantidad

sns.countplot(data = tips, x= 'day', hue='sex');

Diagrama de puntos

sns.swarmplot(data= tips, x= 'day', y = 'total_bill', hue= 'sex', dodge=True);

Curso Básico de Visualización de Datos con Matplotlib y Seaborn 51


Diagrama de caja

sns.boxplot(data= tips, x= 'day', y = 'total_bill', hue= 'sex', dodge=True);

Curso Básico de Visualización de Datos con Matplotlib y Seaborn 52


Se pueden combinar distintos gráficos

sns.boxplot(data= tips, x= 'day', y = 'total_bill', hue= 'sex', dodge=True);


sns.swarmplot(data= tips, x= 'day', y = 'total_bill', hue= 'sex', dodge=True, color =
'0', marker= '<');

Curso Básico de Visualización de Datos con Matplotlib y Seaborn 53


Violín: parecido a Boxplot, pero no muestra los cuartiles, sino como se
concentran los datos con comparación  split

sns.violinplot(data= tips, x= 'day', y = 'total_bill', hue= 'sex',split=True);

Curso Básico de Visualización de Datos con Matplotlib y Seaborn 54


Catplot, con  kind  podemos cambiar el tipo de gráfico y se puede agregar otra
variable  col

sns.catplot(data= tips, x= 'day', y = 'total_bill', hue= 'sex', dodge=True, kind= 'bo


x', col= 'time');

Relation

Curso Básico de Visualización de Datos con Matplotlib y Seaborn 55


Seaborn maneja los gráficos de relación entre distintas variables numéricas para
hacer visualizaciones. Veamos los distintos gráficos que tiene Seaborn para trabajar
este tipo de relaciones.

Tipos de gráficos de relación en Seaborn


Empieza importando los datos para empezar a graficar

import seaborn as sns


import matplotlib.pyplot as plt

tips = sns.load_dataset('tips')
tips.head(2)

1. Scatter

sns.scatterplot(data= tips, x= 'total_bill', y = 'tip', hue= 'day');

Cambiar el estilo de los puntos y su tamaño

sns.scatterplot(data= tips, x= 'total_bill', y = 'tip', hue= 'day', style= 'time', siz


e='size');
plt.legend(loc= 'center', bbox_to_anchor= (1.12, 0.5))

Curso Básico de Visualización de Datos con Matplotlib y Seaborn 56


Cambiar el formato de los marcadores

markers = {"Lunch": 'D', "Dinner": 's'}


sns.scatterplot(data= tips, x= 'total_bill', y = 'tip', hue= 'day', style= 'time', siz
e='size', markers = markers);
plt.legend(loc= 'center', bbox_to_anchor= (1.12, 0.5));

Curso Básico de Visualización de Datos con Matplotlib y Seaborn 57


2. Line

sns.lineplot(data= tips, x= 'total_bill', y = 'tip', hue= 'day', style= 'time', size


='size');

Curso Básico de Visualización de Datos con Matplotlib y Seaborn 58


3. Relplot
Con  kind  podemos modificar el tipo de gráfico

sns.relplot(data= tips, x= 'total_bill', y = 'tip', hue= 'day', style= 'time', size


='size', kind= 'line');

Curso Básico de Visualización de Datos con Matplotlib y Seaborn 59


Agregar el formato col

sns.relplot(data= tips, x= 'total_bill', y = 'tip', hue= 'day', style= 'time', size


='size', kind= 'scatter', col = 'time');

Curso Básico de Visualización de Datos con Matplotlib y Seaborn 60


Jointplot y Pairplot
Jointplot y Pairplot son funcionalidades de Seaborn, porque con un solo comando se
puede generar varios tipos de gráficos.

Ejercicio práctico con Jointplot y Pairplot


Importamos datos

import seaborn as sns


import matplotlib.pyplot as plt

tips = sns.load_dataset('tips')
tips.head()

1. Con Joinplot
Joinplot une 2 distintas gráficas en una sola

sns.jointplot(data=tips, x='total_bill', y= 'tip', hue = 'sex');

Curso Básico de Visualización de Datos con Matplotlib y Seaborn 61


Agregar más argumentos para poder hacer un mejor análisis

sns.jointplot(data=tips, x='total_bill', y= 'tip', hue='sex', kind= 'hist', marginal_t


icks=True, #muestra una pequeña tabla para la gráfica exterior
marginal_kws=dict(bins= 25, fill = True, multiple= 'dodge')); #marginal_kws se le pued
en agregar diferentes parámetros

Curso Básico de Visualización de Datos con Matplotlib y Seaborn 62


2. Con Pairplot
Pairplot correlaciona todas las variables numéricas que hay en el dataset

sns.pairplot(data= tips);

Curso Básico de Visualización de Datos con Matplotlib y Seaborn 63


Solo muestra una esquina del pairplot, eliminando así, las gráficas repetidas

sns.pairplot(data= tips, corner=True);

Heatmap
Heatmap es un tipo de gráfico enfocado a una estructura matricial. Heatmap
correlaciona todas las variables numéricas del dataset.

Ejercicio práctico para usar Heatmap


Importa los datos que necesitas:

Curso Básico de Visualización de Datos con Matplotlib y Seaborn 64


import seaborn as sns
import matplotlib.pyplot as plt

tips = sns.load_dataset('tips')
tips.head()

Correlación entre variables

tips.corr() ---> Muestra las variables correlacionadas entre si

Heatmap

sns.heatmap(tips.corr());

Se pueden agregar diferentes parámetros.  annot  muestra el valor de la


correlación, cmap  color, linewidths espacio entre variables,  linecolor  color de las
líneas,  vminv, max  valores máximos y mínimos,  cbar=False  eliminar la barra

sns.heatmap(tips.corr(), annot= True, cmap='coolwarm', linewidths=5, linecolor='blac


k', vmin=0.5,vmax=1,cbar=False);

Curso Básico de Visualización de Datos con Matplotlib y Seaborn 65


Curso Básico de Visualización de Datos con Matplotlib y Seaborn 66

También podría gustarte