使用 CubicSpline 函数时如何绘制图形

How to graph when using the CubicSpline function

我有两个数组,xy。我想为数组创建一个自然的三次样条。

我不知道如何准确绘制样条曲线图。

import numpy as np
from scipy.interpolate import CubicSpline

# Calculate 5 natural cubic spline polynomials for 6 points.
# (x,y) = (0,12) (1,14) (2,22) (3,39) (4,58) (5,77)
x = np.array([0,  1,  2,  3,  4,  5 ])
y = np.array([12, 14, 22, 39, 58, 77])

# Calculate natural cubic spline polynomials.
cs = CubicSpline(x, y, bc_type='natural')

您可以使用 matplotlib 绘制在您感兴趣的区域上评估的三次样条曲线

import matplotlib.pyplot as plt

X = np.linspace(-1, 7, 100)
Y = cs(X)
plt.plot(X, Y)
plt.show()

您需要创建一组评估新函数的点。

import matplotlib.pyplot as plt

# x's at which to evaluate.
xs = np.arange(-1, 10, 0.1)

# Plot data with spline.
plt.plot(x, y, 'o')
plt.plot(xs, cs(xs))

这导致: