หลายกราฟในรูปเดียว
จัดกราฟเป็นตารางด้วย plt.subplots(แถว, คอลัมน์)
บทนำ
plt.subplots(rows, cols) คืนค่ารูปและตารางของ Axes แต่ละ Axes เป็นกราฟอิสระ จึงเทียบมุมมองต่าง ๆ ของข้อมูลแบบวางคู่กันได้
axes เป็นอาร์เรย์ 2 × 2 โดย axes[0, 0] คือกราฟมุมซ้ายบน และ axes[1, 1] คือกราฟมุมขวาล่าง แต่ละกราฟมีข้อมูลและชื่อของตัวเอง fig.tight_layout ปรับระยะห่างไม่ให้ชื่อกราฟและป้ายซ้อนกัน
ตัวแสดงภาพแบบโต้ตอบ
ลองเปลี่ยนจำนวนแถวและคอลัมน์ สังเกตว่าเมื่อมีแถวหรือคอลัมน์เดียวจะเข้าถึงกราฟด้วย axes[i] และในตารางจะใช้ axes[แถว, คอลัมน์]
ตัวอย่าง Matplotlib ที่รันได้
Matplotlib
main.py
import matplotlib.pyplot as plt
import numpy as np
rng = np.random.default_rng(7)
x = np.linspace(0, 10, 50)
fig, axes = plt.subplots(2, 2, figsize=(8, 6))
axes[0, 0].plot(x, np.sin(x))
axes[0, 0].set_title("Line")
axes[0, 1].bar(["A", "B", "C", "D"], [5, 3, 7, 4])
axes[0, 1].set_title("Bar")
axes[1, 0].scatter(rng.random(40), rng.random(40))
axes[1, 0].set_title("Scatter")
axes[1, 1].hist(rng.normal(size=300), bins=15)
axes[1, 1].set_title("Histogram")
fig.tight_layout()
plt.show()
