2011-08-16 16 views
25

chcę mieć etykiety z małym rozmiarze na PieChart w python poprawy widoczności Oto kodJak ustawić rozmiar etykiet na wykresie kołowym w Pythonie

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

Dzięki i okrzyki

Odpowiedz

29

Istnieje kilka sposobów na zmianę rozmiaru czcionki etykiet.

Możesz dynamically changet the rc settings. Dodaj u góry skryptu:

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

Lub możesz zmodyfikować etykiety po ich utworzeniu. Po wywołaniu ax.pie go (returns a tuple) (łaty, teksty, autoteksty). Jako przykład zmodyfikować swoje ostateczne kilka linijek kodu w następujący sposób:

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

Aby ustawić rozmiar wszystkich etykiet naraz, należy użyć wyrażeń listowych: '[_.set_fontsize (4) _ w tekstach]'. – DaveL17

Powiązane problemy