J'ai tracé mes données avec factorplot
dans seaborn
et obtenir l'objet facetgrid
, mais je ne comprends toujours pas comment les attributs suivants pourraient être définis dans un tel tracé:
Vous pouvez redimensionner les polices dans votre appel à 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))
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))
Le graphique FacetGrid
produit de jolies petites étiquettes. Bien que @ paul-h ait décrit l'utilisation de sns.set
comme moyen de modifier la mise à l'échelle des polices, il se peut que ce ne soit pas la solution optimale, car cela modifiera le paramètre font_scale
pour tous les tracés.
Vous pouvez utiliser le seaborn.plotting_context
pour modifier les paramètres du tracé actuel uniquement:
with sns.plotting_context(font_scale=1.5):
sns.factorplot(x, y ...)
J'ai apporté de petites modifications au code @ paul-H, de sorte que vous puissiez définir la taille de la police pour les axes x/y et la légende de manière indépendante. J'espère que ça aide:
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()
C'est la sortie:
Pour la légende, vous pouvez utiliser cette
plt.setp(g._legend.get_title(), fontsize=20)
Où g est votre objet facetgrid renvoyé après avoir appelé la fonction qui le crée.