Matplotlib餅圖

餅圖只能顯示一系列數據。餅圖在一個數據系列中顯示專案的大小(稱為楔形),與專案的總和成比例。餅圖中的數據點顯示為整個餅圖的百分比。

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%

示例代碼:

#! /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   # 原文出自【許虎虎】,商業轉載請聯繫作者獲得授權,非商業請保留原文鏈接:


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()

執行上面示例代碼,得到以下結果 -


上一篇: Matplotlib直方圖 下一篇: Matplotlib散點圖