WeHelp
Matplotlib 是 Python 用來做資料視覺化的熱門工具,能建立各式各樣的資料圖表。
  1. 簡介、安裝、快速開始
  2. 繪製圓餅圖
  3. 繪製折線圖
  4. 繪製散佈圖
  5. 繪製長條圖
  6. 繪製直方圖
  7. 繪製 K 線圖
  8. 中文字型問題處理
繪製圓餅圖
# 使用 Matplotlib 繪製圓餅圖 Matplotlib 使用 `plt.pie()` 繪製圓餅圖,適合呈現各類別在總數中的比例。 基本語法: ```python import matplotlib.pyplot as plt plt.pie( x, labels=None, autopct=None, explode=None, startangle=0, counterclock=True, colors=None ) plt.show() ``` ## 常用參數 | 參數 | 說明 | |---|---| | `x` | 各分類的數值,例如 `[30, 25, 20, 25]` | | `labels` | 各分類的名稱 | | `autopct` | 顯示百分比,例如 `'%1.1f%%'` | | `explode` | 將某些區塊向外突出,例如 `(0.1, 0, 0, 0)` | | `startangle` | 圓餅圖起始角度,常設為 `90` | | `counterclock` | 是否逆時針繪製,預設為 `True` | | `colors` | 自訂各區塊顏色 | | `shadow` | 是否顯示陰影 | | `wedgeprops` | 設定區塊邊框等外觀 | | `textprops` | 設定文字樣式 | 繪製圓餅圖時,通常搭配: ```python plt.axis('equal') ``` 讓圖形保持正圓,而不是因視窗比例變成橢圓。 --- ## 範例一:基本圓餅圖 以下範例顯示不同程式語言的使用比例: ```python import matplotlib.pyplot as plt # 各分類的數值 values = [35, 25, 20, 20] # 分類名稱 labels = ['Python', 'JavaScript', 'Java', '其他'] # 繪製圓餅圖 plt.pie( values, labels=labels, autopct='%1.1f%%', startangle=90 ) # 讓圓餅圖保持正圓 plt.axis('equal') # 設定標題 plt.title('程式語言使用比例') # 顯示圖表 plt.show() ``` ### 重點說明 ```python autopct='%1.1f%%' ``` 表示百分比保留 1 位小數。例如: ```text 35.0% 25.0% ``` 其中: - `%1.1f`:浮點數顯示到小數點後 1 位 - `%%`:顯示百分比符號 `%` --- ## 範例二:自訂顏色、突出區塊與圖例 以下範例顯示某商店的產品銷售比例,並將「電子產品」區塊突出顯示: ```python import matplotlib.pyplot as plt # 銷售數量 sales = [45, 30, 15, 10] # 產品分類 labels = ['電子產品', '服飾', '食品', '其他'] # 自訂顏色 colors = ['#66c2a5', '#fc8d62', '#8da0cb', '#e78ac3'] # 突出第一個區塊 explode = (0.1, 0, 0, 0) plt.pie( sales, labels=labels, colors=colors, explode=explode, autopct='%1.1f%%', startangle=90, shadow=True, textprops={'fontsize': 11}, wedgeprops={'edgecolor': 'white', 'linewidth': 1} ) plt.axis('equal') plt.title('產品銷售比例') # 顯示圖例 plt.legend( title='產品分類', loc='upper left', bbox_to_anchor=(1, 1) ) # 自動調整版面 plt.tight_layout() plt.show() ``` ### 重要設定說明 #### 1. 突出某個區塊 ```python explode = (0.1, 0, 0, 0) ``` 代表第一個區塊向外移動 `0.1`,其他區塊不移動。 例如: ```python explode = (0, 0.1, 0, 0) ``` 則會突出第二個區塊。 #### 2. 自訂區塊顏色 ```python colors = ['#66c2a5', '#fc8d62', '#8da0cb', '#e78ac3'] ``` 顏色數量通常應與資料分類數量一致。 #### 3. 設定區塊邊框 ```python wedgeprops={ 'edgecolor': 'white', 'linewidth': 1 } ``` 可讓各區塊之間有白色邊界,提高可讀性。 #### 4. 顯示圖例 ```python plt.legend(title='產品分類') ``` 也可以用 `loc`、`bbox_to_anchor` 調整圖例位置。 --- ## 儲存圓餅圖 如果要將圖表儲存成圖片,可以在 `plt.show()` 前加入: ```python plt.savefig('pie_chart.png', dpi=300, bbox_inches='tight') ``` 其中: - `dpi=300`:設定圖片解析度 - `bbox_inches='tight'`:避免圖例或文字被截掉 完整流程通常為: ```python plt.pie(...) plt.axis('equal') plt.savefig('pie_chart.png', dpi=300, bbox_inches='tight') plt.show() ``` 需要注意的是,圓餅圖的資料總和不一定要先轉成百分比,`plt.pie()` 會自動依照各數值總和計算比例。
相關學習地圖、教學課程
Python 資料工程
從 0 開始,成為資料工程師的學習路徑。