Python实现曲线拟合操作示例【基于numpy,scipy,matplotlib库】


Posted in Python onJuly 12, 2018

本文实例讲述了Python实现曲线拟合操作。分享给大家供大家参考,具体如下:

这两天学习了用python来拟合曲线。

一、环境配置

本人比较比较懒,所以下载的全部是exe文件来安装,安装按照顺利来安装。自动会找到python的安装路径,一直点下一步就行。还有其他的两种安装方式:一种是解压,一种是pip。我没有尝试,就不乱说八道了。

没有ArcGIS 环境的,可以不看下面这段话了。

在配置环境时遇见一个小波折,就是原先电脑装过ArcGIS10.2 ,所以其会默认安装python2.7,而且python是32位的。且其目录为C:\Python27\ArcGIS10.2,所以引用环境变量时,要注意。并且在其引用的工具包中本身包含numpy,matplotlib的包。还是很方便的。但是因为之前想用PyQT来做曲线拟合的界面,安装QT时总是失败,所以最后放弃使用这个。在安装新的python时注意要把路径写到上面这个路径前面,意思就是说在安装上面的包的时候会找默认python路径。我新安装python路径为C:\Python2,要不然就会找到ArcGIS那个python包路径下了。

1. 安装包

python2.7 (32位)https://www.python.org/downloads/
numpy-1.8.1-win32-superpack-python2.7
scipy-0.15.1-win32-superpack-python2.7
matplotlib-1.3.1.win32-py2.7

安装过程中遇见的问题

提示

numpy是Python的一种开源的数值计算扩展,数学计算很方便。
scipy是一款方便、易于使用、专为科学和工程设计的Python工具包.它包括统计,优化,整合,线性代数模块,傅里叶变换,信号和图像处理,常微分方程求解器等等.这次还没用到,看介绍很强大,是numpy的升级版。

matplotlib是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实现曲线拟合操作示例【基于numpy,scipy,matplotlib库】

Python 相关文章推荐
python进阶教程之函数对象(函数也是对象)
Aug 30 Python
Python处理JSON数据并生成条形图
Aug 05 Python
将TensorFlow的模型网络导出为单个文件的方法
Apr 23 Python
python远程连接服务器MySQL数据库
Jul 02 Python
实例讲解Python爬取网页数据
Jul 08 Python
对Pandas DataFrame缺失值的查找与填充示例讲解
Nov 06 Python
PyCharm配置mongo插件的方法
Nov 30 Python
python 利用pandas将arff文件转csv文件的方法
Feb 12 Python
python实现二维数组的对角线遍历
Mar 02 Python
python爬虫添加请求头代码实例
Dec 28 Python
python opencv通过4坐标剪裁图片
Jun 05 Python
浅谈怎么给Python添加类型标注
Jun 08 Python
python跳过第一行快速读取文件内容的实例
Jul 12 #Python
python 读取文本文件的行数据,文件.splitlines()的方法
Jul 12 #Python
Python实现的简单读写csv文件操作示例
Jul 12 #Python
用Python分析3天破10亿的《我不是药神》到底神在哪?
Jul 12 #Python
python之文件读取一行一行的方法
Jul 12 #Python
python 读取文件并替换字段的实例
Jul 12 #Python
python logging重复记录日志问题的解决方法
Jul 12 #Python
You might like
JS与PHP向函数传递可变参数的区别实例代码
2011/05/18 PHP
PHP Undefined index报错的修复方法
2011/07/17 PHP
php删除页面记录 同时刷新页面 删除条件用GET方式获得
2012/01/10 PHP
ThinkPHP公共配置文件与各自项目中配置文件组合的方法
2014/11/24 PHP
php实现的SESSION类
2014/12/02 PHP
PHP设计模式之简单投诉页面实例
2016/02/24 PHP
PHP实现生成模糊图片的方法示例
2017/12/21 PHP
PHP+Redis 消息队列 实现高并发下注册人数统计的实例
2018/01/29 PHP
div模拟滚动条效果示例代码
2013/10/16 Javascript
js控制表单不能输入空格的小例子
2013/11/20 Javascript
javascript 表格内容排序 简单操作示例代码
2014/01/03 Javascript
jQuery获得页面元素的绝对/相对位置即绝对X,Y坐标
2014/03/06 Javascript
JavaScript中的prototype和constructor简明总结
2014/04/05 Javascript
javascript 获取元素样式必杀技
2014/05/04 Javascript
阿里巴巴技术文章分享 Javascript继承机制的实现
2016/01/14 Javascript
jQuery实现摸拟alert提示框
2016/05/22 Javascript
关于网页中的无缝滚动的js代码
2016/06/09 Javascript
Angularjs按需查询实例代码
2017/10/30 Javascript
angular4自定义组件非input元素实现ngModel双向数据绑定的方法
2018/12/28 Javascript
pygame加载中文名mp3文件出现error
2017/03/31 Python
Python 3.6打包成EXE可执行程序的实现
2019/10/18 Python
pygame实现俄罗斯方块游戏(AI篇1)
2019/10/29 Python
YUV转为jpg图像的实现
2019/12/09 Python
python匿名函数lambda原理及实例解析
2020/02/07 Python
django 解决model中类写不到数据库中,数据库无此字段的问题
2020/05/20 Python
用python进行视频剪辑
2020/11/02 Python
CSS3属性使网站设计增强同时不消弱可用性
2009/08/29 HTML / CSS
2分钟教你实现环形/扇形菜单(基础版)
2020/01/15 HTML / CSS
一张图片能隐含千言万语之隐藏你的程序代码
2012/12/13 HTML / CSS
Perfume’s Club澳大利亚官网:西班牙领先的在线美容店
2021/02/01 全球购物
super()与this()的区别
2016/01/17 面试题
小学教师岗位职责
2013/11/25 职场文书
校园安全演讲稿
2014/05/09 职场文书
金融系毕业生自荐书
2014/07/08 职场文书
幼儿园小朋友毕业感言
2015/07/30 职场文书
小学美术教学反思
2016/02/17 职场文书