2013-01-05 15 views

回答

10

help(pie)說:

figure(1, figsize=(6,6)) 
ax = axes([0.1, 0.1, 0.8, 0.8]) 
labels = 'Frogs', 'Hogs', 'Dogs', 'Logs' 
fracs = [15, 30, 45, 10] 
total = sum(fracs) 
explode=(0, 0.05, 0, 0) 
pie(fracs, explode=explode, labels=labels, 
    autopct=lambda(p): '{:.0f}'.format(p * total/100), 
    shadow=True, startangle=90) 
show() 

+2

要:

*autopct*: [ *None* | format string | format function ] If not *None*, is a string or function used to label the wedges with their numeric value. The label will be placed inside the wedge. If it is a format string, the label will be ''fmt%pct''. If it is a function, it will be called. 

,所以你可以通過餅圖的總規模乘以除以100轉百分比回原始值顯示百分比和總數:http://stackoverflow.com/questions/6170246/how-do-i-use-matplotlib-autopct – zehpunktbarron

+2

這應該是'lambda p'在該代碼中,沒有括號。 –

+0

@ K.-MichaelAye:Python 2.7中的括號是合法的 - 注意答案的寫日期。 –