Matplotlib 饼图


饼图只能显示一个系列的数据,饼图显示一个数据系列中项目的大小(称为楔子),与项目的总和成正比,饼图中的数据点是以整个饼的百分比来显示的。

Matplotlib API有一个pie()函数,可以生成一个代表数组中数据的饼图。每个楔子的分数面积由x/sum(x)给出。如果sum(x)<1,那么x的值就直接给出分面积,数组将不被归一化。结果饼将有一个大小为1-sum(x)的空楔子。

如果图形和坐标轴是正方形的,或者坐标轴方面是相等的,那么饼图看起来是最好的。

参数


下表列出了饼图的参数:

x阵列状。楔形尺寸。
labels列表。为每个楔形提供标签的字符串序列。
Colors饼图将循环通过的一系列 matplotlibcolorargs。如果没有,将使用当前活动循环中的颜色。
Autopct字符串,用于用它们的数值标记楔形。标签将放置在楔形物内。格式字符串将为 fmt%pct。

以下代码使用 pie() 函数显示注册各种计算机语言课程的学生列表的饼图,比例百分比显示在各自的楔形内,借助autopct参数设置为 %1.2f%。

from matplotlib import pyplot as plt
import numpy as np
fig = plt.figure()
ax = fig.add_axes([0,0,1,1])
ax.axis('equal')
langs = ['C', 'C++', 'Java', 'Python', 'PHP']
students = [23,17,35,29,12]
ax.pie(students, labels = langs,autopct='%1.2f%%')
plt.show()

Pie Chart