今天就跟大家聊聊有关怎么在Python中实现一个曲线拟合操作,可能很多人都不太了解,为了让大家更加了解,小编给大家总结了以下内容,希望大家根据这篇文章可以有所收获。
曲线拟合的例子
import matplotlib.pyplot as plt import math import numpy as np import random import csv plt.rcParams['font.sans-serif'] = ['SimHei']#设置显示中文 fig = plt.figure() ax = fig.add_subplot(111)#将画布分割成1行1列,图像画在从左到右从上到下的第1块 #阶数为6阶 order=6 #生成曲线上的各个点 dataMat = np.loadtxt(open("c:\\yandu.csv","rb"),delimiter=",",skiprows=0) size=dataMat.shape num=size[0] trandata=np.transpose(dataMat)#矩阵转置 xa=trandata[0]#得到天数数组(横坐标) ya=trandata[1]#实测盐度值数组 #数据筛选,去除盐度值为零的,提高拟合精度 i=0 x=[] y=[] for yy in ya: if yy>0: xx=xa[i] i+=1 x.append(xx) y.append(yy) #绘制原始数据 ax.plot(x,y,label=u'原始数据',color='m',linestyle='',marker='.') #计算多项式 c=np.polyfit(x,y,order)#拟合多项式的系数存储在数组c中 yy=np.polyval(c,x)#根据多项式求函数值 #进行曲线绘制 x_new=np.linspace(0, 365, 2000) f_liner=np.polyval(c,x_new) #ax.plot(x,y,color='m',linestyle='',marker='.') ax.plot(x_new,f_liner,label=u'拟合多项式曲线',color='g',linestyle='-',marker='') # labels标签设置 ax.set_xlim(0, 366) ax.set_xlabel(u'天') ax.set_ylabel(u'盐度') ax.set_title(u'盐度的日变化', bbox={'facecolor':'0.8', 'pad':5}) ax.legend() plt.show()
看完上述内容,你们对怎么在Python中实现一个曲线拟合操作有进一步的了解吗?如果还想了解更多知识或者相关内容,请关注亿速云行业资讯频道,感谢大家的支持。
免责声明:本站发布的内容(图片、视频和文字)以原创、转载和分享为主,文章观点不代表本网站立场,如果涉及侵权请联系站长邮箱:is@yisu.com进行举报,并提供相关证据,一经查实,将立刻删除涉嫌侵权内容。