La función a nivel de figura seaborn.catplot con el argumento kind = "bar" o la función a nivel de ejes seaborn.barplot generan gráficos de barras que tienen un comportamiento ligeramente diferente al habitual: normalmente un gráfico de barras muestra el recuento de valores en cada categoría. Aun cuando esta funcionalidad también está contemplada en seaborn, las funciones mencionadas van mucho más allá de un simple recuento: aplican una función que calcula una medida de tendencia central (por defecto es el valor medio) y muestran, aplicando bootstrapping, el intervalo de confianza del 95% para dicha medida.
Veamos un sencillo ejemplo. En la siguiente gráfica mostramos el valor medio de supervivencia para hombres y mujeres en el Titanic:
titanic = sns.load_dataset("titanic")
sns.catplot(x = "sex", y = "survived", kind = "bar", data = titanic);
Vemos en la parte superior de cada barra el intervalo del 95% de confianza para la medida de tendencia central calculada.
Tal y como ocurría con los gráficos de líneas con agregación, el parámetro ci (confidence interval) controla esta opción:
sns.catplot(x = "sex", y = "survived", kind = "bar", data = titanic, ci = 30);
Pasando el valor None al parámetro ci simplemente desactivamos el intervalo de confianza.
Podemos recurrir al parámetro hue para dividir cada gráfica según los valores de una nueva variable categórica, aumentando el número de dimensiones mostradas en la gráfica. Por ejemplo, se muestra a continuación la gráfica anterior tras segmentar cada una de las dos barras según la categoría del camarote:
sns.catplot(x = "sex", y = "survived", kind = "bar", data = titanic, hue = "pclass");
Podemos mostrar la gráfica en vertical o en horizontal dando como primer argumento la variable categórica o la variable cuantitativa:
sns.catplot(x = "survived", y = "sex", kind = "bar", data = titanic, hue = "pclass");
En el caso de que seaborn no sea capaz de inferir cuál es la variable categórica, siempre es posible establecer el valor del parámetro orient.
Podemos determinar la función a utilizar con el parámetro estimator. En el siguiente ejemplo, mostramos en la gráfica de barras la desviación estándar de los valores que definen si el pasajero en cuestión sobrevivió o no:
sns.catplot(x = "sex", y = "survived", kind = "bar", data = titanic, hue = "pclass", estimator = np.std);