คำตอบจากlas3rjockซึ่งเป็นคำตอบที่ OP ยอมรับไม่ถูกต้อง - รหัสไม่ทำงานและเป็นไวยากรณ์ matplotlib ที่ถูกต้อง คำตอบนั้นไม่มีโค้ดที่รันได้และไม่มีข้อมูลหรือคำแนะนำใด ๆ ที่ OP อาจพบว่ามีประโยชน์ในการเขียนโค้ดของตนเองเพื่อแก้ปัญหาใน OP
เนื่องจากเป็นคำตอบที่ได้รับการยอมรับและได้รับการโหวตเพิ่มขึ้นหลายครั้งฉันคิดว่าการถอดรหัสเล็กน้อยเป็นไปตามลำดับ
ขั้นแรกการเรียกsubplotไม่ได้ทำให้คุณมีหลายแปลง แผนภาพย่อยเรียกว่าการสร้างพล็อตเดียวเช่นเดียวกับการสร้างหลายพล็อต นอกจากนี้ "การเปลี่ยน plt.figure (i)" ไม่ถูกต้อง
plt.figure () (ซึ่งโดยปกติแล้ว plt หรือ PLT จะเป็นไลบรารี pyplotของ matplotlib ที่อิมพอร์ตและรีบาวด์เป็นตัวแปรส่วนกลาง plt หรือบางครั้งก็เป็น PLT เช่น:
from matplotlib import pyplot as PLT
fig = PLT.figure()
บรรทัดด้านบนสร้างอินสแตนซ์รูป matplotlib เมธอดadd_subplotของออบเจ็กต์นี้จะถูกเรียกใช้สำหรับทุก ๆ หน้าต่างการลงจุด (นึกถึงแกน x & y ที่ประกอบด้วยพล็อตย่อยเดียวอย่างไม่เป็นทางการ) คุณสร้าง (ไม่ว่าจะเป็นเพียงหนึ่งหน้าหรือหลายหน้า) เช่นนั้น
fig.add_subplot(111)
ไวยากรณ์นี้เทียบเท่ากับ
fig.add_subplot(1,1,1)
เลือกสิ่งที่เหมาะสมกับคุณ
ด้านล่างนี้ฉันได้ระบุรหัสเพื่อลงจุดสองพล็อตบนหน้าหนึ่งอยู่เหนืออีกอันหนึ่ง การจัดรูปแบบจะทำผ่านการโต้แย้งส่งผ่านไปยังadd_subplot สังเกตว่าอาร์กิวเมนต์คือ ( 211 ) สำหรับพล็อตแรกและ ( 212 ) สำหรับวินาที
from matplotlib import pyplot as PLT
fig = PLT.figure()
ax1 = fig.add_subplot(211)
ax1.plot([(1, 2), (3, 4)], [(4, 3), (2, 3)])
ax2 = fig.add_subplot(212)
ax2.plot([(7, 2), (5, 3)], [(1, 6), (9, 5)])
PLT.show()
อาร์กิวเมนต์ทั้งสองนี้เป็นข้อกำหนดที่สมบูรณ์สำหรับการวางหน้าต่างพล็อตตามลำดับบนเพจอย่างถูกต้อง
211 (ซึ่งอีกครั้งสามารถเขียนในรูปแบบ 3 ทูเพิลได้เช่นกัน (2,1,1) หมายถึงสองแถวและหนึ่งคอลัมน์ของหน้าต่างพล็อตตัวเลขที่สามระบุลำดับของหน้าต่างพล็อตย่อยนั้นโดยสัมพันธ์กับหน้าต่างพล็อตย่อยอื่น ๆ - ในกรณีนี้นี่คือพล็อตแรก (ซึ่งวางไว้ในแถวที่ 1) ดังนั้นพล็อตหมายเลข 1 แถว 1 col 1
อาร์กิวเมนต์ส่งผ่านไปยังการเรียกครั้งที่สองเพื่อadd_subplotซึ่งแตกต่างจากตัวเลขแรกเท่านั้นโดยตัวเลขต่อท้าย (a 2 แทนที่จะเป็น 1 เนื่องจากพล็อตนี้เป็นพล็อตที่สอง (แถว 2, col 1)
ตัวอย่างที่มีพล็อตเพิ่มเติม: ถ้าคุณต้องการสี่พล็อตบนเพจในการกำหนดค่าเมทริกซ์ 2x2 คุณจะเรียกเมธอด add_subplot สี่ครั้งโดยส่งผ่านอาร์กิวเมนต์ทั้งสี่นี้ (221), (222), (223) และ ( 224) เพื่อสร้างสี่พล็อตบนหน้าที่ 10, 2, 8 และ 4 นาฬิกาตามลำดับและตามลำดับ
โปรดสังเกตว่าอาร์กิวเมนต์ทั้งสี่มีสองตะกั่ว 2 ซึ่งเข้ารหัสการกำหนดค่า 2 x 2 นั่นคือสองแถวและสองคอลัมน์
หลักที่สาม (ขวาสุด) ในแต่ละอาร์กิวเมนต์ทั้งสี่จะเข้ารหัสลำดับของหน้าต่างพล็อตนั้นในเมทริกซ์ 2 x 2 นั่นคือแถว 1 col 1 (1) แถว 1 col 2 (2) แถว 2 col 1 (3) แถว 2 col 2 (4)