ในการรวมแปลง matplotlib ที่มีอยู่สองแปลงเป็นแปลงเดียว เราสามารถทำตามขั้นตอนต่อไปนี้ -
- กำหนดขนาดรูปและปรับช่องว่างภายในระหว่างและรอบๆ แผนผังย่อย
- สร้างจุดข้อมูล x, y1 และ y2 โดยใช้ numpy
- พล็อต (x, y1) และ (x, y2) จุดโดยใช้ plot() วิธีการ
- รับจุดข้อมูล xy ของแกนปัจจุบัน
- ใช้ argsort() เพื่อส่งคืนดัชนีที่จะจัดเรียงอาร์เรย์
- ต่อท้ายจุดข้อมูล x และ y ของแต่ละพล็อต
- พล็อตจุดข้อมูล X และ Y ที่แผนผังย่อยดัชนีที่ 2
- หากต้องการแสดงรูป ให้ใช้ show() วิธีการ
ตัวอย่าง
import numpy as np import matplotlib.pyplot as plt plt.rcParams["figure.figsize"] = [7.50, 3.50] plt.rcParams["figure.autolayout"] = True x = np.linspace(-10, 10, 100) y1 = np.sin(x) y2 = np.cos(x) plt.subplot(211) plt.plot(x, y1, color='red', lw=5) plt.plot(x, y2, color='orange', lw=7) X, Y = [], [] for lines in plt.gca().get_lines(): for x, y in lines.get_xydata(): X.append(x) Y.append(y) idx = np.argsort(X) X = np.array(X)[idx] Y = np.array(Y)[idx] plt.subplot(212) plt.plot(X, Y, color='green', lw=0.75) plt.show()
ผลลัพธ์