2011-08-16 8 views
25

में एक पाई चार्ट पर लेबल आकार कैसे सेट करें मैं अजगर में एक piechart यहां दृश्यता को सुधारने के लिए छोटे आकार के साथ लेबल दिखाना चाहते कोड हैअजगर

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() 

धन्यवाद और चियर्स

उत्तर

29

लेबल के फ़ॉन्ट आकार को बदलने के कुछ तरीके हैं।

आप dynamically changet the rc settings कर सकते हैं। अपनी स्क्रिप्ट के शीर्ष पर निम्न जोड़ें:

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

या आप बनाए जाने के बाद लेबल संशोधित कर सकते हैं। जब आप ax.pie पर returns a tuple (पैच, ग्रंथ, ऑटोटेक्स) कहते हैं। उदाहरण के लिए, इस प्रकार कोड के अपने अंतिम कुछ लाइनों को संशोधित:

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

एक ही बार में सभी लेबल के आकार को निर्धारित करने के लिए, एक सूची समझ का उपयोग करें: [ग्रंथों में _ के लिए _.set_fontsize (4)] ''। – DaveL17