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