Computer >> Hướng Dẫn Máy Tính >  >> Lập Trình >> Python

Cách gộp hai biểu đồ Matplotlib hiện có thành một biểu đồ?


Để 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ả

Cách gộp hai biểu đồ Matplotlib hiện có thành một biểu đồ?Cách gộp hai biểu đồ Matplotlib hiện có thành một biểu đồ?