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

วิธีลบช่องว่างระหว่างซับพลอตใน Matplotlib.pyplot

การกำจัดช่องว่างระหว่างซับพลอตใน Matplotlib สามารถทำได้โดยใช้คลาส GridSpec ร่วมกับการตั้งค่า wspace และ hspace ให้เป็นค่าต่ำหรือศูนย์ วิธีนี้ให้การควบคุมเลย์เอาต์ได้ละเอียดกว่า subplots_adjust()

ขั้นตอนการทำงาน

  1. ตั้งค่าขนาดรูปและระยะห่างอัตโนมัติ
  2. สร้าง GridSpec กำหนดแถวและคอลัมน์ (เช่น 3x3)
  3. ปรับพารามิเตอร์ grid ด้วย gs.update(wspace=0, hspace=0)
  4. วนลูปเพิ่มซับพลอตแต่ละช่องด้วย plt.subplot(gs[i])
  5. ตั้งค่าอัตราส่วนภาพด้วย set_aspect('equal')
  6. แสดงผลด้วย plt.show()

ตัวอย่างโค้ด

import matplotlib.pyplot as plt
import matplotlib.gridspec as gridspec

plt.rcParams["figure.figsize"] = [7.50, 3.50]
plt.rcParams["figure.autolayout"] = True

gs1 = gridspec.GridSpec(3, 3)
gs1.update(wspace=0.0, hspace=0.0)  # ลบช่องว่างทั้งแนวนอนและแนวตั้ง

for i in range(9):
    ax1 = plt.subplot(gs1[i])
    ax1.set_aspect('equal')

plt.show()

ผลลัพธ์

วิธีลบช่องว่างระหว่างซับพลอตใน Matplotlib.pyplot