继续上一篇:
matplotlib-饼图
这里主要写一下关于autopct
参数的使用
import matplotlib.pyplot as plt
plt.pie([2,4,4] , autopct='%.1f%%')
plt.show()
autopct,单独指定格式化字符串的时候,都是按照默认显示数字
这里还可以指定为一个函数,用函数可以将我们的标签显示更丰富
def my_label(pct):
print(pct)
return "{:.1f}%".format(pct)
plt.pie([2,4,4] , autopct=my_label)
plt.show()
继续优化一下这个函数
import numpy as np
def my_label(pct, allvals):
absolute = int(pct/100.*np.sum(allvals))
return "{:.1f}%\n({:d} )".format(pct, absolute)
data=[2,4,4]
plt.pie(data , autopct=lambda x: my_label(x,data))
plt.show()
这里用了匿名函数,然后将数据集也传到了函数里
这个是参考官方文档的例子,但是感觉稍微有点儿问题,原始数值是自己算出来的,兴许会有差异吧,等后面实际使用时再看看。