Seaborn - Gráficos categóricos de paneles múltiples
Los datos categóricos se pueden visualizar usando dos gráficos, puede usar las funciones pointplot(), o la función de nivel superior factorplot().
Factorplot
Factorplot dibuja un gráfico categórico en un FacetGrid. Usando el parámetro 'kind' podemos elegir la trama como boxplot, violinplot, barplot y stripplot. FacetGrid usa la gráfica de puntos de forma predeterminada.
Ejemplo
import pandas as pd
import seaborn as sb
from matplotlib import pyplot as plt
df = sb.load_dataset('exercise')
sb.factorplot(x = "time", y = pulse", hue = "kind",data = df);
plt.show()
Salida
Podemos usar diferentes gráficos para visualizar los mismos datos usando el kind parámetro.
Ejemplo
import pandas as pd
import seaborn as sb
from matplotlib import pyplot as plt
df = sb.load_dataset('exercise')
sb.factorplot(x = "time", y = "pulse", hue = "kind", kind = 'violin',data = df);
plt.show()
Salida
En factorplot, los datos se trazan en una cuadrícula de facetas.
¿Qué es Facet Grid?
Facet grid forma una matriz de paneles definidos por fila y columna dividiendo las variables. Debido a los paneles, un solo gráfico se parece a varios gráficos. Es muy útil analizar todas las combinaciones en dos variables discretas.
Visualicemos la definición anterior con un ejemplo.
Ejemplo
import pandas as pd
import seaborn as sb
from matplotlib import pyplot as plt
df = sb.load_dataset('exercise')
sb.factorplot(x = "time", y = "pulse", hue = "kind", kind = 'violin', col = "diet", data = df);
plt.show()
Salida
La ventaja de usar Facet es que podemos ingresar otra variable en la gráfica. El gráfico anterior se divide en dos gráficos basados en una tercera variable llamada 'dieta' utilizando el parámetro 'col'.
Podemos hacer muchas facetas de columna y alinearlas con las filas de la cuadrícula -
Ejemplo
import pandas as pd
import seaborn as sb
from matplotlib import pyplot as plt
df = sb.load_dataset('titanic')
sb.factorplot("alive", col = "deck", col_wrap = 3,data = df[df.deck.notnull()],kind = "count")
plt.show()