Computer >> คอมพิวเตอร์ >  >> การเขียนโปรแกรม >> Python

วาดเส้นโค้งเชื่อมจุดสองจุดแทนเส้นตรงใน matplotlib


ในการวาดเส้นโค้งเชื่อมจุดสองจุดแทนที่จะเป็นเส้นตรงใน matplotlib เราสามารถทำตามขั้นตอนต่อไปนี้ -

  • กำหนดขนาดรูปและปรับช่องว่างภายในระหว่างและรอบๆ แผนผังย่อย
  • กำหนด draw_curve() วิธีการสร้างเส้นโค้งด้วยนิพจน์ทางคณิตศาสตร์
  • พล็อตจุดข้อมูล point1 และ point2
  • พล็อตจุดข้อมูล x และ y ที่ส่งคืนจาก draw_curve() วิธีการ
  • หากต้องการแสดงรูป ให้ใช้ show() วิธีการ

ตัวอย่าง

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

ผลลัพธ์

มันจะสร้างผลลัพธ์ต่อไปนี้

วาดเส้นโค้งเชื่อมจุดสองจุดแทนเส้นตรงใน matplotlib วาดเส้นโค้งเชื่อมจุดสองจุดแทนเส้นตรงใน matplotlib