Matplotlib - 饼图


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

Matplotlib API 有一个pie()函数,可以生成表示数组中数据的饼图。每个楔形的分数面积由x/sum(x)给出。如果 sum(x)< 1,则 x 的值直接给出分数面积,并且数组将不会被归一化。由此产生的饼图将有一个大小为 1 - sum(x) 的空楔形。

如果图形和轴是方形的,或者轴的长宽相等,则饼图看起来最好。

参数

下表列出了饼图的参数 -

X 类似数组。楔子尺寸。
标签 列表。为每个楔形提供标签的字符串序列。
颜色 饼图将循环通过的 matplotlibcolorargs 序列。如果没有,将使用当前活动周期中的颜色。
奥托普克特 字符串,用于用数值标记楔形。标签将放置在楔子内。格式字符串将为 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()
饼形图