我可以使用 numpy 为一组 x 和 y 值绘制线性插值图吗

问题描述

我可以使用 numpy 为一组 x 和 y 值绘制线性插值图吗?

import numpy as np
import matplotlib.pyplot as plt
x =[700,701,702,702]
y =[46,48,45,45]
​
​
x_new= [701]
​
y_new = np.interp(x_new,x,y)
print(y_new)
[48.]
plt.plot(x,y,"og-",x_new,y_new,"or");

如何打印图形中使用的函数

解决方法

您是将图中使用的函数称为直线方程吗?如果是这样,得到直线的方程:

from numpy import ones,vstack
from numpy.linalg import lstsq

x =[700,701,702,702]
y =[46,48,45,45]
A = vstack([x_coords,ones(len(x_coords))]).T
m,c = lstsq(A,y_coords)[0]
print("Line Solution is y = {m}x + {c}".format(m=m,c=c))