如何在Matplotlib中替换自动标记的相对值为绝对值?
要在matplotlib中替换自动标记的相对值为绝对值,可以使用 autopct = lambda p: <计算结果>。
步骤
- 设置图形大小并调整子图之间和周围的填充。
- 制作 标签、分数、爆炸位置 列表,并获取分数总和以计算百分比。
- 使用 标签、fracs 和 爆炸 制作一个饼图,并使用 autopct = lambda p: <计算结果百分比>。
- 使用 show() 方法显示图形。
示例
import matplotlib.pyplot as plt
plt.rcParams["figure.figsize"] = [7.50, 3.50]
plt.rcParams["figure.autolayout"] = True
labels = ('Read', 'Eat', 'Sleep', 'Repeat')
fracs = [5, 3, 4, 1]
total = sum(fracs)
explode = (0, 0.05, 0, 0)
plt.pie(fracs, explode=explode, labels=labels,
autopct=lambda p: '{:.0f}%'.format(p * total / 100),
shadow=True, startangle=90)
plt.show()