Matplotlib 简明教程

Matplotlib - Pie Chart

饼图只能显示一个数据系列。饼图显示了一个数据系列中各个项目(称为饼片)的大小,与各个项目总数成比例。饼图中的数据点显示为整个饼图中的百分比。

Matplotlib API 有一个 pie() 函数,该函数生成一个饼图,表示数组中的数据。每个饼片的部分面积由 x/sum(x) 给出。如果 sum(x)< 1,那么 x 的值将直接给出部分面积,并且数组不会规范化。生成的饼将包含大小为 1 - sum(x) 的空白饼片。

如果图形和坐标轴为方形,或者坐标轴的纵横比相等,则饼图看起来效果最佳。

Parameters

下表列出了饼图的参数 −

x

array-like. The wedge sizes.

labels

列表。提供每个饼片标签的字符串序列。

Colors

Matplotlibcolorargs 序列,在此序列中饼图将循环。如果为 None,将使用当前活动循环中的颜色。

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