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

Vẽ một đường cong nối hai điểm thay vì một đường thẳng trong matplotlib

Để vẽ một đường cong nối hai điểm thay vì một đường thẳng trong matplotlib, 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ụ.
  • Xác định draw_curve () phương pháp tạo đường cong bằng biểu thức toán học.
  • Vẽ đồ thị các điểm dữ liệu point1 và point2.
  • Vẽ biểu đồ các điểm dữ liệu x và y được trả về từ draw_curve () phương pháp.
  • Để hiển thị hình này, hãy sử dụng show () phương pháp.

Ví dụ

import matplotlib.pyplot as plt
import numpy as np

plt.rcParams["figure.figsize"] = [7.00, 3.50]
plt.rcParams["figure.autolayout"] = True

def draw_curve(p1, p2):
   a = (p2[1] - p1[1]) / (np.cosh(p2[0]) - np.cosh(p1[0]))
   b = p1[1] - a * np.cosh(p1[0])
   x = np.linspace(p1[0], p2[0], 100)
   y = a * np.cosh(x) + b
   return x, y

p1 = [0, 1]
p2 = [1, 2]
x, y = draw_curve(p1, p2)
plt.plot(p1[0], p1[1], 'o')
plt.plot(p2[0], p2[1], 'o')
plt.plot(x, y)
plt.show()

Đầu ra

Nó sẽ tạo ra kết quả sau

Vẽ một đường cong nối hai điểm thay vì một đường thẳng trong matplotlib Vẽ một đường cong nối hai điểm thay vì một đường thẳng trong matplotlib