¿Cómo puedo cambiar el tamaño de fuente utilizando FacetGrid?

He trazado mis datos con un factorplot de factorplot en un seaborn factorplot en el seaborn y obtengo facetgrid , pero aún no puedo entender cómo se pueden establecer los siguientes atributos en un gráfico de este tipo:

  1. Tamaño de leyenda: cuando grafico muchas variables, obtengo leyendas muy pequeñas, con fonts pequeñas.
  2. Tamaños de fuente de las tags y y x (un problema similar al anterior)

Puede escalar las fonts en su llamada a sns.set() .

 import numpy as np import matplotlib.pyplot as plt import seaborn as sns x = np.random.normal(size=37) y = np.random.lognormal(size=37) # defaults sns.set() fig, ax = plt.subplots() ax.plot(x, y, marker='s', linestyle='none', label='small') ax.legend(loc='upper left', bbox_to_anchor=(0, 1.1)) 

introduzca la descripción de la imagen aquí

 sns.set(font_scale=5) # crazy big fig, ax = plt.subplots() ax.plot(x, y, marker='s', linestyle='none', label='big') ax.legend(loc='upper left', bbox_to_anchor=(0, 1.3)) 

introduzca la descripción de la imagen aquí

La ttwig de FacetGrid produce tags bastante pequeñas. Si bien @ paul-h ha descrito el uso de sns.set como una forma de cambiar la escala de fuente, puede que no sea la solución óptima, ya que cambiará la configuración de font_scale para todas las plots.

Podría usar el seaborn.plotting_context para cambiar la configuración solo para la ttwig actual:

 with sns.plotting_context(font_scale=1.5): sns.factorplot(x, y ...) 

He realizado pequeñas modificaciones en el código de @ paul-H, de modo que puede establecer el tamaño de fuente para los ejes x / y y la leyenda de forma independiente. Espero eso ayude:

 import numpy as np import matplotlib.pyplot as plt import seaborn as sns x = np.random.normal(size=37) y = np.random.lognormal(size=37) # defaults sns.set() fig, ax = plt.subplots() ax.plot(x, y, marker='s', linestyle='none', label='small') ax.legend(loc='upper left', fontsize=20,bbox_to_anchor=(0, 1.1)) ax.set_xlabel('X_axi',fontsize=20); ax.set_ylabel('Y_axis',fontsize=20); plt.show() 

Esta es la salida:

introduzca la descripción de la imagen aquí

Para la leyenda, puedes usar este

 plt.setp(g._legend.get_title(), fontsize=20) 

Donde g es el objeto de facetgrid que se devuelve después de llamar a la función para hacerlo.