วิธีปรับระยะห่างระหว่างแผนย่อย matplotlib
คุณมักจะใช้แผนย่อยเพื่อแสดงหลายแปลงติดกันใน Matplotlib น่าเสียดายที่แผนย่อยเหล่านี้มักจะทับซ้อนกันโดยค่าเริ่มต้น
วิธีที่ง่ายที่สุดในการแก้ปัญหานี้คือการใช้ฟังก์ชัน Matplotlib Tight_layout() บทช่วยสอนนี้จะอธิบายวิธีใช้ฟังก์ชันนี้ในทางปฏิบัติ
สร้างแผนการย่อย
พิจารณาการจัดเรียงแผนย่อย 4 แผนใน 2 คอลัมน์และ 2 แถวต่อไปนี้:
import matplotlib.pyplot as plt #define subplots fig, ax = plt. subplots (2, 2) #display subplots plt. show ()
สังเกตว่าแผนย่อยซ้อนทับกันเล็กน้อยอย่างไร
ปรับระยะห่างของแผนย่อยโดยใช้ Tight_layout()
วิธีที่ง่ายที่สุดในการแก้ปัญหาการทับซ้อนกันนี้คือการใช้ฟังก์ชัน Matplotlib Tight_layout() :
import matplotlib.pyplot as plt #define subplots fig, ax = plt. subplots (2, 2) fig. tight_layout () #display subplots plt. show ()
ปรับระยะห่างของชื่อเรื่องย่อย
ในบางกรณี คุณยังสามารถมีชื่อเรื่องสำหรับแผนการย่อยแต่ละเรื่องได้ด้วย น่าเสียดายที่แม้แต่ฟังก์ชัน Tight_layout() ก็มีแนวโน้มที่จะทำให้ชื่อเรื่องย่อยทับซ้อนกัน:
import matplotlib.pyplot as plt #define subplots fig, ax = plt. subplots (2, 2) fig. tight_layout () #define subplot titles ax[0, 0]. set_title ('First Subplot') ax[0, 1]. set_title ('Second Subplot') ax[1, 0]. set_title ('Third Subplot') ax[1, 1]. set_title ('Fourth Subplot') #display subplots plt. show ()
วิธีแก้ไขปัญหานี้คือการเพิ่มความสูงจากส่วนเสริมระหว่างแผนย่อยโดยใช้อาร์กิวเมนต์ h_pad :
import matplotlib.pyplot as plt #define subplots fig, ax = plt. subplots (2, 2) fig. tight_layout (h_pad= 2 ) #define subplot titles ax[0, 0]. set_title ('First Subplot') ax[0, 1]. set_title ('Second Subplot') ax[1, 0]. set_title ('Third Subplot') ax[1, 1]. set_title ('Fourth Subplot') #display subplots plt. show ()
ปรับระยะห่างระหว่างหัวเรื่องโดยรวม
หากคุณมีชื่อเรื่องโดยรวม คุณสามารถใช้ฟังก์ชัน subplots_adjust() เพื่อให้แน่ใจว่าจะไม่ทับซ้อนกับชื่อเรื่องย่อย:
import matplotlib.pyplot as plt #define subplots fig, ax = plt. subplots (2, 2) fig. tight_layout (h_pad= 2 ) #define subplot titles ax[0, 0]. set_title ('First Subplot') ax[0, 1]. set_title ('Second Subplot') ax[1, 0]. set_title ('Third Subplot') ax[1, 1]. set_title ('Fourth Subplot') #add overall title and adjust it so that it doesn't overlap with subplot titles fig.suptitle(' Overall Title ') plt.subplots_adjust(top= 0.85 ) #display subplots plt. show ()
คุณสามารถค้นหาบทช่วยสอน Matplotlib เพิ่มเติม ได้ที่นี่