Matplotlib – 饼图
饼图只能显示一个系列的数据。饼图显示一个数据系列中项目的大小(称为楔子),与项目的总和成正比。饼图中的数据点是以整个饼的百分比来显示的。
Matplotlib API有一个 pie() 函数,可以生成一个代表数组中数据的饼图。每个楔子的分数面积由 x/sum(x) 给出 。 如果sum(x)<1,那么x的值就直接给出分面积,数组将不会被归一化。结果饼将有一个大小为1-sum(x)的空楔子。
如果图形和坐标轴是正方形的,或者坐标轴方面是相等的,那么饼图看起来是最好的。
参数
下表列出了饼图的参数-
x | 类似数组。楔子的大小。 |
---|---|
labels | 列表。一系列字符串,提供每个楔子的标签。 |
Colors | matplotlibcolorargs的一个序列,饼图将通过该序列循环。如果没有,将使用当前活动周期中的颜色。 |
Autopct | 字符串,用于为楔形图标注其数值。标签将被放置在楔子内。格式字符串将是 fmt%pct。 |
以下代码使用pie()函数来显示各种计算机语言课程注册学生名单的饼图。在设置为%1.2f%的 autopct 参数的帮助下,比例百分比将显示在各自的楔子内。
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()