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()