【python画出插值图曲线】

        插值是在很多离散点的基础上加一个插补连续函数,首先这个函数满足所有点上所对应得值,这让使得把满足要求的插值函数必需通过全部已经给定的每一个数据点。插值是在已知得离散点之间在插值函数不断得逼近下等到近似值的重要方法,最后不断地逼近并估算出函数在已知得离散点其它点处的接近实值得近似值,在曲线的不断插值并逼近拟合插值得到想要的值。

import matplotlib.pyplot as plt
import mpl_toolkits.axisartist as axisartist
import numpy as np
from scipy import interpolate
#from pylab import *
import pylab as pl
#创建画布
fig = plt.figure()
#使用axisartist.Subplot方法创建一个绘图区对象ax
ax = axisartist.Subplot(fig, 111)
#将绘图区对象添加到画布中
fig.add_axes(ax)
#通过set_axisline_style方法设置绘图区的底部及左侧坐标轴样式
#"-|>"代表实心箭头:"->"代表空心箭头
ax.axis["bottom"].set_axisline_style("->", size = 2.5)
ax.axis["left"].set_axisline_style("->", size = 2.5)
#通过set_visible方法设置绘图区的顶部及右侧坐标轴隐藏
ax.axis["top"].set_visible(False)
ax.axis["right"].set_visible(False)
x=[0.9,0.8,0.7,0.6,0.5,0.4,0.3,0.23]
y=[0.0694,0.1581,0.2519,0.3711,0.5443,0.8304,1.363,2.043]
xnew=np.linspace(0.23,0.9,150)
pl.plot(x,y,"ro")
for kind in ["nearest","zero","slinear","quadratic","cubic"]:
    f=interpolate.interp1d(x,y,kind=kind)
    # ‘slinear’, ‘quadratic’ and ‘cubic’ refer to a spline interpolation of first, second or third order)
    ynew=f(xnew)
    pl.plot(xnew,ynew,label=str(kind))
    
plt.plot(x,y)
plt.show()

         插值在工程应用中的应用特别多,比如在机床的曲线加工,圆弧,圆面加工的时候都利用插值法,插值法我们可以看作在一条折现线不断地拟合成光滑的曲率面,或者光滑的链接。以上的方法是在数据处理的过程中要利用的插值法,它能够提高计算效率。除了特殊要求的计算外都一般的场合都可以使用插值法。

        最后的运行效果为如下:

【python画出插值图曲线】_第1张图片

你可能感兴趣的:(python画图,算法,python)