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

Làm cách nào để tìm giao điểm của hai đoạn thẳng trong Matplotlib?

Để tìm giao điểm của hai đoạn thẳng trong Matplotlib và chuyển các đường ngang và dọc qua điểm đó, 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 hai đường bằng cách sử dụng độ dốc (m1, m2) và chặn (c1 và c2) . Khởi tạo độ dốc và kết hợp các giá trị.
  • Tạo x điểm dữ liệu bằng cách sử dụng numpy.
  • Ô x, m1, m2, c2 c1 điểm dữ liệu bằng cách sử dụng plot () phương pháp.
  • Sử dụng các điểm giao nhau và giá trị độ dốc để tìm điểm giao nhau.
  • Vẽ đồ thị của các đường ngang và dọc với kiểu đường chấm.
  • xi yi điểm về cốt truyện.
  • Để 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.50, 3.50]
plt.rcParams["figure.autolayout"] = True

m1, c1 = 0.1, 2.0
m2, c2 = 2.0, -3.0

x = np.linspace(-10, 10, 500)

plt.plot(x, x * m1 + c1, 'red')
plt.plot(x, x * m2 + c2, 'green')

plt.xlim(-2, 8)
plt.ylim(-2, 8)

xi = (c1 - c2) / (m2 - m1)
yi = m1 * xi + c1

plt.axvline(x=xi, color='gray', linestyle='--')
plt.axhline(y=yi, color='gray', linestyle='--')

plt.scatter(xi, yi, color='black')

plt.show()

Đầu ra

Làm cách nào để tìm giao điểm của hai đoạn thẳng trong Matplotlib?