Matplotlib 是 Python 中最流行且功能強大的資料視覺化工具之一。它能夠生成各種靜態、動態及互動式的圖表,是資料分析與科學計算的重要組成部分。在本教學中,我們將詳細介紹 Matplotlib 的核心功能,並以範例逐步展示如何繪製基本與進階圖表。
首先,確保安裝了 Matplotlib。如果尚未安裝,可以使用以下指令:
pip install matplotlib
載入 Matplotlib 的核心模組:
import matplotlib.pyplot as plt
以下是一個簡單的線圖示例:
import matplotlib.pyplot as plt
# 資料
x = [1, 2, 3, 4, 5]
y = [2, 4, 6, 8, 10]
# 繪製圖表
plt.plot(x, y)
plt.title('線圖示例') # 標題
plt.xlabel('X 軸') # X 軸標籤
plt.ylabel('Y 軸') # Y 軸標籤
plt.show() # 顯示圖表
輸出為一個簡單的線性圖。
可以使用 title
、xlabel
和 ylabel
方法為圖表添加標題及軸標籤:
plt.title('這是標題')
plt.xlabel('X 軸標籤')
plt.ylabel('Y 軸標籤')
可以通過參數設置線條的樣式、顏色與粗細:
plt.plot(x, y, color='red', linestyle='--', linewidth=2)
常用參數:
color
: 設置線條顏色(如 'blue'
, 'red'
或 HEX 值)。linestyle
: 設置線條樣式(如 '-'
, '--'
, ':'
)。linewidth
: 設置線條粗細。可以在同一個圖表中繪製多條線:
x = [1, 2, 3, 4, 5]
y1 = [1, 2, 3, 4, 5]
y2 = [2, 4, 6, 8, 10]
plt.plot(x, y1, label='y = x') # 第一條線
plt.plot(x, y2, label='y = 2x') # 第二條線
plt.legend() # 顯示圖例
plt.show()
輸出將顯示兩條線及圖例。
plt.plot(x, y)
plt.title('折線圖')
plt.show()
categories = ['A', 'B', 'C', 'D']
values = [3, 7, 8, 5]
plt.bar(categories, values, color='blue')
plt.title('柱狀圖')
plt.show()
x = [5, 7, 8, 7, 2, 17]
y = [99, 86, 87, 88, 100, 86]
plt.scatter(x, y, color='red')
plt.title('散點圖')
plt.show()
sizes = [30, 20, 45, 5]
labels = ['A', 'B', 'C', 'D']
colors = ['gold', 'lightblue', 'lightgreen', 'red']
plt.pie(sizes, labels=labels, colors=colors, autopct='%1.1f%%')
plt.title('圓餅圖')
plt.show()
Matplotlib 支援在同一畫布中繪製多個子圖:
# 創建子圖畫布 (2 行, 2 列)
fig, axs = plt.subplots(2, 2)
# 繪製不同的圖表
axs[0, 0].plot(x, y) # 第一張圖
axs[0, 1].bar(categories, values) # 第二張圖
axs[1, 0].scatter(x, y) # 第三張圖
axs[1, 1].pie(sizes, labels=labels, autopct='%1.1f%%') # 第四張圖
plt.tight_layout() # 自動調整間距
plt.show()
plt.plot(x, y)
plt.grid(True) # 顯示網格
plt.show()
plt.plot(x, y)
plt.xlim(0, 6) # 設置 X 軸範圍
plt.ylim(0, 12) # 設置 Y 軸範圍
plt.xticks([1, 2, 3, 4, 5]) # 自定義 X 軸刻度
plt.yticks([0, 2, 4, 6, 8, 10]) # 自定義 Y 軸刻度
plt.show()
Matplotlib 支援將圖表保存為多種格式:
plt.plot(x, y)
plt.savefig('line_chart.png', dpi=300, format='png') # 儲存為 PNG
plt.show()
Matplotlib 能直接繪製 Pandas 的資料:
import pandas as pd
# 建立 DataFrame
data = {
'X': [1, 2, 3, 4, 5],
'Y': [2, 4, 6, 8, 10]
}
df = pd.DataFrame(data)
# 使用 DataFrame 繪圖
df.plot(x='X', y='Y', kind='line', title='Pandas 與 Matplotlib', legend=False)
plt.show()
Matplotlib 是 Python 資料視覺化的基礎工具,其功能全面,適合繪製靜態圖表。在資料分析與展示中,掌握 Matplotlib 的使用將極大提升你的表達能力。
以下是學習 Matplotlib 的建議:
通過多加練習與應用,將能夠輕鬆利用 Matplotlib 將數據可視化為清晰、直觀的圖表!