資料視覺化是資料分析的關鍵步驟,Python 的 Matplotlib 函式庫提供了強大且靈活的繪圖功能,能輕鬆繣製出專業級的統計圖表。本文將從安裝環境、基礎折線圖、多線圖表、圖例設定、儲存圖片等核心知識點,帶你快速上手 Matplotlib 繪圖。
# 安裝套件(若未安裝)
pip install matplotlib numpy
# 匯入模組
import matplotlib.pyplot as plt
import numpy as np
# 定義資料
x = [0, 1, 2, 4, 5, 6]
y = [1, 2, 3, 2, 4, 1]
# 繪圖設定
plt.figure(figsize=(8, 4)) # 設定畫布大小
plt.plot(x, y, '-*r') # 紅色虛線+星號標記
plt.xlabel("x-axis") # X 軸標籤
plt.ylabel("y-axis") # Y 軸標籤
plt.title("基本折線圖範例") # 圖表標題
plt.grid(True, linestyle='--', alpha=0.5) # 加入網格線
plt.show() # 顯示圖表
# 定義多組資料
x = [0, 1, 2, 4, 5, 6]
y1 = [1, 2, 3, 2, 4, 1]
y2 = [1, 2, 3, 4, 5, 6]
# 同時繪製兩條線,指定不同樣式
plt.plot(x, y1, '--*r', label='資料系列 A') # 紅色虛線星號
plt.plot(x, y2, '-.+g', label='資料系列 B') # 綠色點畫線加號
# 圖表美化
plt.xlabel("執行緒數")
plt.ylabel("並發數")
plt.title("多線圖表比較範例")
plt.legend() # 顯示圖例
plt.grid(True, alpha=0.3)
plt.show()
plt.figure(1)
plt.subplot(2, 1, 1) # 2行1列第1個
plt.plot(x, y1, '-+b')
plt.title("子圖 1")
plt.subplot(2, 1, 2) # 2行1列第2個
plt.plot(x, y2, '-.*r')
plt.title("子圖 2")
plt.tight_layout() # 自動調整間距
plt.show()
plt.bar(x, y1, color='skyblue', edgecolor='navy', label='柱狀資料')
plt.xlabel("類別")
plt.ylabel("數值")
plt.title("柱狀圖範例")
plt.legend()
plt.show()
plt.plot(x, y1, '-.*r')
plt.text(1, 2, "重要標註點", fontsize=12, color='red') # 在座標(1,2)加文字
plt.show()
# 方法 1:直接在 plot 指定 label
line1, = plt.plot([1,2,3], label='Line 1')
line2, = plt.plot([3,2,1], label='Line 2')
plt.legend(handles=[line1, line2])
# 方法 2:使用 set_label
line, = plt.plot([1, 2, 3])
line.set_label("動態設定標籤")
plt.legend()
# 方法 3:傳入元組
line1, = plt.plot([1, 2, 3])
line2, = plt.plot([3, 2, 1], '--b')
plt.legend((line1, line2), ('線條一', '線條二'))
plt.show()
# 儲存為 PNG,指定 DPI
plt.savefig('chart.png', dpi=120, bbox_inches='tight')
# 儲存為 PDF(矢量圖,適合列印)
plt.savefig('chart.pdf', bbox_inches='tight')
# 透明背景
plt.savefig('chart_transparent.png', transparent=True, dpi=300)
plt.rcParams['font.sans-serif'] = ['Microsoft JhengHei'](Windows)或 ['Noto Sans CJK TC'](Linux/Mac)。plt.tight_layout() 自動調整邊距。plt.plot(..., rasterized=True) 或改用 datashader、bokeh 等互動式圖表庫。Matplotlib 是 Python 資料視覺化的基石,掌握基本繪圖流程、樣式自訂、多圖佈局與輸出設定,即可應對大多數報表與分析需求。建議從簡單折線圖開始練習,逐步嘗試子圖、雙軸圖、極座標圖等進階圖表類型。