簡體   English   中英

plot如何通過Python 3中的真實數據點平滑曲線?

[英]How to plot smooth curve through the true data points in Python 3?

我已經嘗試了一堆已經發布的樣條示例,用於在 python 中繪制平滑曲線,但這些平滑曲線並不總是穿過真實點。 到目前為止,我嘗試使用make_interp_splineinterp1dBSpline

有什么辦法(任何樣條選項)我可以 plot 一條必須包含/穿過真實數據點的平滑曲線?

這是interp1d的一個簡單示例:

import numpy as np
import matplotlib.pyplot as plt
from scipy.interpolate import interp1d

x = np.arange(5)
y = np.random.random(5)
fun = interp1d(x=x, y=y, kind=2)
x2 = np.linspace(start=0, stop=4, num=1000)
y2 = fun(x2)

plt.plot(x2, y2, color='b')
plt.plot(x, y, ls='', marker='o', color='r')

隨機樣條插值

您可以輕松驗證此插值是否包含真實數據點:

assert np.allclose(fun(x), y)

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM