2013-01-05 17 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中的括号是合法的 - 注意答案的写日期。 –