Để gộp hai biểu đồ Matplotlib hiện có thành một biểu đồ, chúng ta có thể thực hiện các bước sau:
- Thiết lập kích thước figure và điều chỉnh padding giữa và xung quanh subplots.
- Tạo điểm dữ liệu x, y1 và y2 bằng numpy.
- Vẽ điểm (x, y1) và (x, y2) bằng phương thức plot().
- Lấy điểm dữ liệu xy của trục hiện tại.
- Dùng argsort() để trả về chỉ số sẽ sắp xếp mảng.
- Nối điểm dữ liệu x và y của mỗi biểu đồ.
- Vẽ điểm dữ liệu X và Y tại subplot index 2.
- Để hiển thị figure, dùng phương thức show().
Ví dụ
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()
Kết quả

