在 matplotlib 中繪製一條連線兩個點的曲線,而不是直線


若要在 matplotlib 中繪製一條連線兩個點的曲線,而不是直線,我們可以採取以下步驟:

  • 設定圖形大小並調整子圖之間的填充和周圍的填充。
  • 定義一個 draw_curve() 方法用一個數學表示式生成一條曲線。
  • 繪製點 1 和點 2 資料點。
  • 繪製從 draw_curve() 方法返回的 x 和 y 資料點。
  • 若要顯示圖形,請使用 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()

輸出

它將產生以下輸出

更新於:2021 年 9 月 21 日

4K+ 瀏覽量

開啟你的職業生涯

透過完成課程獲得認證

開始
廣告