46 votes

Comment définir la taille des étiquettes d'un graphique circulaire en python ?

Je veux avoir des étiquettes de petite taille sur un camembert en python pour améliorer la visibilité. voici le code

import matplotlib.pyplot as plt

frac=[1.40 , 10.86 , 19.31 , 4.02 , 1.43 , 2.66 , 4.70 , 0.70 , 0.13 , 1.48, 32.96 , 1.11 , 13.30 , 5.86]
labels=['HO0900344', 'HO0900331', 'HO0900332', 'HO0900354', 
'HO0900358', 'HO0900374', 'HO0900372', 'HO0900373', 
'HO0900371', 'HO0900370', 'HO0900369', 'HO0900356', 
'HO0900353', 'HO0900343']

fig = plt.figure(1, figsize=(6,6))
ax = fig.add_subplot(111)
ax.axis('equal')
colors=('b', 'g', 'r', 'c', 'm', 'y', 'burlywood', 'w')
ax.pie(frac,colors=colors ,labels=labels, autopct='%1.1f%%')
plt.show()

Merci et bonne chance

103voto

TheMuellenator Points 1031

La façon la plus simple de modifier la taille de la police d'un graphique circulaire est de le faire directement via la fonction textprops argument dans le pie() fonction. En utilisant le code ci-dessus, ajoutez-le comme suit :

ax.pie(frac, colors=colors ,labels=labels, 
       autopct='%1.1f%%', textprops={'fontsize': 14})

De cette façon, vous pouvez simplement passer un dictionnaire avec la taille de police souhaitée (par exemple, 14). Vous n'avez pas à vous embêter avec rcParams ou les valeurs de retour de l'appel de fonction.

65voto

PreludeAndFugue Points 3504

Vous pouvez modifier la taille de la police des étiquettes de plusieurs façons.

Vous pouvez changer dynamiquement les paramètres rc . Ajoutez ce qui suit en haut de votre script :

import matplotlib as mpl
mpl.rcParams['font.size'] = 9.0

Vous pouvez également modifier les étiquettes après leur création. Lorsque vous appelez ax.pie il renvoie un tuple de (patchs, textes, autotextes). A titre d'exemple, modifiez vos dernières lignes de code comme suit :

patches, texts, autotexts = ax.pie(frac, colors=colors, labels=labels, autopct='%1.1f%%')
texts[0].set_fontsize(4)
plt.show()

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