406 votes

Comment changer la taille de la légende avec matplotlib.pyplot

Une question simple : J'essaye d'obtenir la taille de ma légende à l'aide de matplotlib.pyplot pour qu'il soit plus petit (c'est-à-dire que le texte soit plus petit). Le code que j'utilise ressemble à ceci :

plot.figure()
plot.scatter(k, sum_cf, color='black', label='Sum of Cause Fractions')
plot.scatter(k, data[:, 0],  color='b', label='Dis 1: cf = .6, var = .2')
plot.scatter(k, data[:, 1],  color='r',  label='Dis 2: cf = .2, var = .1')
plot.scatter(k, data[:, 2],  color='g', label='Dis 3: cf = .1, var = .01')
plot.legend(loc=2)

0 votes

Pour une réponse actualisée, 2021, voir stackoverflow.com/a/62669552/2612410

5voto

swint144 Points 88

Sur mon installation, FontProperties ne modifie que la taille du texte, mais celui-ci est toujours trop grand et trop espacé. J'ai trouvé un paramètre dans pyplot.rcParams : legend.labelspacing qui, je suppose, est réglé sur une fraction de la taille de la police. Je l'ai modifié avec

pyplot.rcParams.update({'legend.labelspacing':0.25})

Je ne suis pas sûr de savoir comment le spécifier à la fonction pyplot.legend - en transmettant

prop={'labelspacing':0.25}

ou

prop={'legend.labelspacing':0.25}

revient avec une erreur.

Prograide.com

Prograide est une communauté de développeurs qui cherche à élargir la connaissance de la programmation au-delà de l'anglais.
Pour cela nous avons les plus grands doutes résolus en français et vous pouvez aussi poser vos propres questions ou résoudre celles des autres.

Powered by:

X