餅圖只能顯示一系列數(shù)據。餅圖在一個數(shù)據系列中顯示項目的大小(稱為楔形),與項目的總和成比例。餅圖中的數(shù)據點顯示為整個餅圖的百分比。
Matplotlib API有一個pie()函數(shù),它生成一個表示數(shù)組中數(shù)據的餅圖。每個楔形的分數(shù)面積由x/sum(x)給出。如果sum(x<1,那么x的值直接給出小數(shù)區(qū)域,并且數(shù)組將不被標準化。結果餅圖將有一個大小為1的空楔 - sum(x)。
如果圖形和軸是方形,或者軸方向相等,則餅圖看起來最佳。
下表列出了餅圖的參數(shù) -
x - 數(shù)組式,楔形大小。 labels - 列表。一系列字符串,為每個楔形提供標簽。 colors - 一系列matplotlib顏色參數(shù),餅圖將通過它循環(huán)。如果為None,將使用當前活動周期中的顏色。 Autopct - string用于用數(shù)值標記楔形。標簽將放在楔子內。格式字符串將為fmt%pct。
以下代碼使用pie()函數(shù)來顯示計算機語言課程注冊的學生列表的餅圖。使用autopct參數(shù),相應的百分比顯示在相應的楔形內部,該參數(shù)設置為%1.2f%。
示例代碼:
# Filename : example.py # Copyright : 2020 By Nhooo # Author by : www.soo66.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-serif'] = ['SimHei'] # 步驟一(替換sans-serif字體) plt.rcParams['axes.unicode_minus'] = False # 原文出自【立地貨】,商業(yè)轉載請聯(lián)系作者獲得授權,非商業(yè)請保留原文鏈接: 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()
執(zhí)行上面示例代碼,得到以下結果 -