Las funciones de visualización a nivel de ejes se van a crear en el eje especificado por el atributo ax o, si no se especifica, en el eje actual (si no existe, se crea uno en una nueva figura). Esto supone que si deseamos controlar el tamaño de estas visualizaciones, basta con definir el tamaño de la figura con las herramientas de matplotlib:
import matplotlib.pyplot as plt
fig, ax = plt.subplots(figsize = (9, 3))
sns.barplot(x="sex", y="survived", hue="class", data=titanic, ax = ax);
Con las funciones a nivel de figura es diferente, pues ya se ha comentado que éstas crean su propia figura y los conjuntos de ejes necesarios. En estas circunstancias, el tamaño de la figura vendrá definido por el tamaño de la gráfica principal a mostrar, o por el tamaño de un facet (es decir, en el caso de mostrarse en la visualización un conjunto de gráficas -una para cada valor de una variable categórica- vendrá definida por el tamaño de cada una de ellas). El tamaño de un facet, al contrario de lo que podría esperarse, no viene determinado por parámetros como width o height, sino por su altura y razón de aspecto entre su anchura y su altura (parámetros height y aspect, respectivamente). Por ejemplo, mostremos la misma gráfica que en el ejemplo anterior utilizando la función a nivel de figura correspondiente, seaborn.catplot:
sns.catplot(x="sex", y="survived", hue="class", data=titanic, kind = "bar");
Se trata de una única gráfica con una relación de aspecto 1:1 (su anchura es igual a la altura). Si repetimos la visualización indicando una altura de 3 (valor mucho menor que el valor por defecto) y una relación de aspecto de 2 (doble anchura que altura), el resultado es el siguiente:
sns.catplot(x="sex", y="survived", hue="class", data=titanic, kind = "bar", height = 3, aspect = 2);
Repitamos la visualización usando facets:
sns.catplot(x="sex", y="survived", col="class", data=titanic, kind = "bar");
Cada facet tiene un tamaño por defecto semejante al de una visualización independiente (si el número de facets a mostrar horizontalmente no obliga a que sea menor). Indiquemos ahora una altura de 6 (algo superior a la altura por defecto) y una relación de aspecto de 0.5 (doble altura que anchura):
sns.catplot(x="sex", y="survived", col="class", data=titanic, kind = "bar", height = 6, aspect = 0.5);
En general, tendremos que jugar con estos dos valores, height y aspect para conseguir el tamaño deseado, teniendo en cuenta que, si estamos usando facets, los valores que demos a dichos parámetros harán referencia a uno de ellos.