Computer >> Máy Tính >  >> Lập trình >> Python

Làm thế nào để hợp nhất hai mảnh Matplotlib hiện có thành một mảnh?

Để hợp nhất hai ô matplotlib hiện có thành một ô, chúng ta có thể thực hiện các bước sau -

  • Đặt kích thước hình và điều chỉnh phần đệm giữa và xung quanh các ô phụ.
  • Tạo các điểm dữ liệu x, y1 và y2 bằng cách sử dụng numpy.
  • Vẽ đồ thị (x, y1) và (x, y2) điểm bằng cách sử dụng plot () phương pháp.
  • Nhận các điểm dữ liệu xy của các trục hiện tại.
  • Sử dụng argsort () để trả về các chỉ số sẽ sắp xếp một mảng.
  • Nối các điểm dữ liệu x và y của mỗi ô.
  • Biểu đồ các điểm dữ liệu X và Y tại ô phụ chỉ mục thứ 2.
  • Để hiển thị hình này, hãy sử dụng show () phương pháp.

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()

Đầu ra

Làm thế nào để hợp nhất hai mảnh Matplotlib hiện có thành một mảnh? Làm thế nào để hợp nhất hai mảnh Matplotlib hiện có thành một mảnh?