Matplotlib

Matplotlib 下載

Matplotlib 是 Python 中最常用的繪圖庫之一,專門用於創建靜態、動態和交互式的視覺化圖表。無論是簡單的線圖、條形圖還是複雜的三維圖形,Matplotlib 都能提供強大的支持。它與 NumPyPandas 等庫配合使用,能夠輕鬆處理大規模數據並進行可視化。

這裡是 Matplotlib 入門教學,幫助你快速上手並開始進行數據可視化。


?‍? 一、安裝 Matplotlib

在開始之前,你需要安裝 Matplotlib。你可以通過 pip 安裝:

pip install matplotlib

如果你使用 Anaconda,可以使用以下命令安裝:

conda install matplotlib

安裝完成後,你就可以在 Python 程序中導入 Matplotlib 並開始繪圖。


? 二、Matplotlib 基本使用

1️⃣ 導入 Matplotlib

在 Python 中,我們通常導入 matplotlib.pyplot 模塊來進行繪圖:

import matplotlib.pyplot as plt

2️⃣ 基本的折線圖(Line Plot)

最簡單的圖形是折線圖,它用來顯示隨時間變化的數據或其他數據關係。

import matplotlib.pyplot as plt

# 定義數據
x = [1, 2, 3, 4, 5]
y = [2, 3, 5, 7, 11]

# 繪製折線圖
plt.plot(x, y)

# 添加標題和標籤
plt.title("Simple Line Plot")
plt.xlabel("X Axis")
plt.ylabel("Y Axis")

# 顯示圖形
plt.show()

這段代碼將生成一個簡單的折線圖,顯示 xy 數據之間的關係。

3️⃣ 繪製散點圖(Scatter Plot)

散點圖是另一種常見的圖表,用於顯示兩組數據之間的關聯。

# 散點圖
plt.scatter(x, y)

# 添加標題和標籤
plt.title("Simple Scatter Plot")
plt.xlabel("X Axis")
plt.ylabel("Y Axis")

# 顯示圖形
plt.show()

4️⃣ 繪製條形圖(Bar Plot)

條形圖通常用於顯示類別數據或比較數值。

# 條形圖
categories = ['A', 'B', 'C', 'D']
values = [3, 7, 2, 5]

plt.bar(categories, values)

# 添加標題和標籤
plt.title("Simple Bar Plot")
plt.xlabel("Category")
plt.ylabel("Value")

# 顯示圖形
plt.show()

5️⃣ 繪製直方圖(Histogram)

直方圖用於顯示數據的分佈情況,通常用於統計學中的數據分佈分析。

import numpy as np

# 生成隨機數據
data = np.random.randn(1000)

# 繪製直方圖
plt.hist(data, bins=30, edgecolor='black')

# 添加標題和標籤
plt.title("Histogram")
plt.xlabel("Value")
plt.ylabel("Frequency")

# 顯示圖形
plt.show()

6️⃣ 繪製餅圖(Pie Chart)

餅圖用於顯示各部分在總體中所佔的比例。

labels = ['Python', 'C', 'Java', 'JavaScript']
sizes = [50, 30, 15, 5]

plt.pie(sizes, labels=labels, autopct='%1.1f%%', startangle=90)

# 添加標題
plt.title("Programming Language Usage")

# 顯示圖形
plt.show()

? 三、Matplotlib 進階操作

1️⃣ 設置圖形樣式

你可以使用 plt.style.use() 設置不同的圖形樣式。例如,Matplotlib 提供了內建的樣式,如 ggplotseaborn,可以快速改變圖形外觀。

plt.style.use('ggplot')

# 繪製一個簡單的折線圖
plt.plot(x, y)

# 顯示圖形
plt.show()

2️⃣ 多個子圖(Subplots)

Matplotlib 允許在一個圖形中顯示多個子圖。這對於比較不同數據集或多個視覺化非常有用。

# 創建 1 行 2 列的子圖
fig, (ax1, ax2) = plt.subplots(1, 2)

# 繪製第一個子圖
ax1.plot(x, y)
ax1.set_title("Line Plot")

# 繪製第二個子圖
ax2.scatter(x, y)
ax2.set_title("Scatter Plot")

# 顯示圖形
plt.show()

3️⃣ 自定義顏色、標籤和標題

你可以通過指定顏色、標籤、線型等來自定義圖形的外觀。

# 自定義顏色、線型和標籤
plt.plot(x, y, color='green', linestyle='--', label='Data')

# 顯示圖例
plt.legend()

# 添加標題和標籤
plt.title("Customized Line Plot")
plt.xlabel("X Axis")
plt.ylabel("Y Axis")

# 顯示圖形
plt.show()

4️⃣ 保存圖形

如果你想將圖形保存為文件,可以使用 savefig() 方法。

# 保存圖形為 PNG 文件
plt.plot(x, y)
plt.title("Simple Line Plot")
plt.xlabel("X Axis")
plt.ylabel("Y Axis")
plt.savefig("line_plot.png")  # 保存為文件
plt.show()

5️⃣ 3D 繪圖

Matplotlib 還支持三維繪圖。你可以使用 Axes3D 來創建三維圖形。

from mpl_toolkits.mplot3d import Axes3D
import numpy as np

# 生成數據
x = np.linspace(-5, 5, 100)
y = np.linspace(-5, 5, 100)
x, y = np.meshgrid(x, y)
z = np.sin(np.sqrt(x**2 + y**2))

# 創建 3D 圖形
fig = plt.figure()
ax = fig.add_subplot(111, projection='3d')
ax.plot_surface(x, y, z, cmap='viridis')

# 顯示圖形
plt.show()

? 四、學習資源

發佈留言

發佈留言必須填寫的電子郵件地址不會公開。 必填欄位標示為 *