Computer >> บทช่วยสอนคอมพิวเตอร์ >  >> การเขียนโปรแกรม >> Python

การลบ Whitespace ที่ด้านล่างของ Matplotlib Graph

ปัญหา 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 มากขึ้น