English | 简体中文 | 繁體中文 | Русский язык | Français | Español | Português | Deutsch | 日本語 | 한국어 | Italiano | بالعربية
饼图只能显示一系列数据。饼图在一个数据系列中显示项目的大小(称为楔形),与项目的总和成比例。饼图中的数据点显示为整个饼图的百分比。
Matplotlib API有一个pie()函数,它生成一个表示数组中数据的饼图。每个楔形的分数面积由x/sum(x)给出。如果sum(x<1,那么x的值直接给出小数区域,并且数组将不被标准化。结果饼图将有一个大小为1的空楔 - sum(x)
如果图形和轴是方形,或者轴方向相等,则饼图看起来最佳。
下表列出了饼图的参数 -
x - 数组式,楔形大小。 labels - 列表。一系列字符串,为每个楔形提供标签。 colors - 一系列matplotlib颜色参数,饼图将通过它循环。如果为None,将使用当前活动周期中的颜色。 Autopct - string用于用数值标记楔形。标签将放在楔子内。格式字符串将为fmt%pct。
以下代码使用pie()函数来显示计算机语言课程注册的学生列表的饼图。使用autopct参数,相应的百分比显示在相应的楔形内部,该参数设置为%。1.2f%.
示例代码:
# Filename : example.py # Copyright : 2020 By w3codebox # Author by : fr.oldtoolbag.com # Date : 2020-08-08 #! /usr/bin/env python #coding=utf-8 import matplotlib.pyplot as plt import numpy as np import math plt.rcParams['font.sans']-police serif] = ['SimHei'] # Étape 1 (remplacement sans)-police serif) plt.rcParams['axes.unicode_minus'] = False # L'original est de source [LiDiHuo], la reprise commerciale doit contacter l'auteur pour obtenir l'autorisation, la reprise non commerciale doit conserver le lien original : 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()
Exécuter le code d'exemple ci-dessus, obtenez le résultat suivant -