ปัญหา Whitespace เกินที่ด้านล่างกราฟสามารถแก้ไขได้ด้วย tight_layout() หรือตั้งค่า autoscale_on=False พร้อมกำหนด Limit เอง
วิธีที่ 1: ใช้ tight_layout() (แนะนำ)
import matplotlib.pyplot as plt
plt.rcParams["figure.figsize"] = [7.50, 3.50]
plt.rcParams["figure.autolayout"] = True # ทำงานคล้าย tight_layout
fig, ax = plt.subplots()
ax.plot([2, 5, 1, 2, 0, 7])
plt.show()
วิธีที่ 2: ใช้ autoscale_on=False
import matplotlib.pyplot as plt
plt.rcParams["figure.figsize"] = [7.50, 3.50]
plt.rcParams["figure.autolayout"] = True
fig = plt.figure()
ax = fig.add_subplot(111, autoscale_on=False, xlim=(1, 5), ylim=(0, 10))
ax.plot([2, 5, 1, 2, 0, 7])
plt.show()
วิธีที่ 3: ใช้ subplots_adjust
plt.subplots_adjust(bottom=0.15, top=0.9, left=0.1, right=0.95)
เปรียบเทียบ
| วิธี | ความสะดวก | ความยืดหยุ่น |
|---|---|---|
| tight_layout / autolayout | สูงมาก | ปานกลาง |
| autoscale_on=False | ปานกลาง | สูง (ควบคุมได้หมด) |
| subplots_adjust | ปานกลาง | สูง |
ผลลัพธ์
กราฟไม่มีพื้นที่ว่างเกินไปที่ด้านล่าง เนื้อหากราฟเต็มพื้นที่ Figure มากขึ้น