Matplotlib 饼图
饼图只能显示一系列数据。饼图显示了一系列数据项(称为楔块)在总数据中的比例大小。饼图中的数据点显示为整个饼图的百分比。
Matplotlib API 提供了一个 pie() 函数,用于生成表示数组数据的饼图。每个楔块的分数区域由 x/sum(x) 给出。如果sum(x) < 1,那么x的值直接给出分数区域,并且数组不会被归一化。饼图结果将有一个大小为1 – sum(x)的空楔块。
如果图形和坐标轴是正方形,或者坐标轴的长宽比是相等的,饼图效果最佳。
参数
以下表格列出了饼图的参数 –
x | array-like。扇区尺寸。 |
---|---|
labels | list。一个字符串序列,用于为每个扇区提供标签。 |
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()