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实现文件分组复制到不同目录的例子
Jun 04 Python
Python json 错误xx is not JSON serializable解决办法
Mar 15 Python
视觉直观感受若干常用排序算法
Apr 13 Python
python模块之sys模块和序列化模块(实例讲解)
Sep 13 Python
Windows下安装Scrapy
Oct 17 Python
基于Python函数和变量名解析
Jul 19 Python
Django Celery异步任务队列的实现
Jul 24 Python
Python paramiko模块使用解析(实现ssh)
Aug 30 Python
Django单元测试中Fixtures的使用方法
Feb 26 Python
Python序列化pickle模块使用详解
Mar 05 Python
详解selenium + chromedriver 被反爬的解决方法
Oct 28 Python
python将图片转为矢量图的方法步骤
Mar 30 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
CodeIgniter CLI模式简介
2014/06/17 PHP
PHP使用CURL实现多线程抓取网页
2015/04/30 PHP
ThinkPHP表单数据智能写入create方法实例分析
2015/09/27 PHP
PHP去掉json字符串中的反斜杠\及去掉双引号前的反斜杠
2015/09/30 PHP
PHP中的switch语句的用法实例详解
2015/10/21 PHP
写的htc的数据表格
2007/01/20 Javascript
JS函数验证总结(方便js客户端输入验证)
2010/10/29 Javascript
JS随即打乱数组实现代码
2012/12/03 Javascript
jQuery ajax serialize() 方法使用示例
2014/11/02 Javascript
javascript上下方向键控制表格行选中并高亮显示的方法
2015/02/13 Javascript
Bootstrap每天必学之面板
2015/11/30 Javascript
深入浅析react native es6语法
2015/12/09 Javascript
关于Javascript回调函数的一个妙用
2016/08/29 Javascript
AngularJS使用ocLazyLoad实现js延迟加载
2017/07/05 Javascript
深入理解vue-class-component源码阅读
2019/02/18 Javascript
ES6基础之默认参数值
2019/02/21 Javascript
9102了,你还不会移动端真机调试吗
2019/03/25 Javascript
使用VScode 插件debugger for chrome 调试react源码的方法
2019/09/13 Javascript
Vue 实现输入框新增搜索历史记录功能
2019/10/15 Javascript
CKEditor扩展插件:自动排版功能autoformat插件实现方法详解
2020/02/06 Javascript
[45:40]Ti4 冒泡赛第二天NEWBEE vs NaVi 1
2014/07/15 DOTA
Python处理RSS、ATOM模块FEEDPARSER介绍
2015/02/18 Python
Python使用PIL库实现验证码图片的方法
2016/03/11 Python
django 多数据库配置教程
2018/05/30 Python
Python 爬取携程所有机票的实例代码
2018/06/11 Python
python正则表达式去除两个特殊字符间的内容方法
2018/12/24 Python
Python 生成一个从0到n个数字的列表4种方法小结
2019/11/28 Python
python def 定义函数,调用函数方式
2020/06/02 Python
请解释接口的显式实现有什么意义
2012/05/26 面试题
材料物理专业大学毕业生求职信
2013/10/15 职场文书
《雨点》教学反思
2014/02/12 职场文书
五年级学生期末评语
2014/12/26 职场文书
学习雷锋精神活动总结
2015/02/06 职场文书
实名检举信范文
2015/03/02 职场文书
开场白怎么写
2015/06/01 职场文书
使用Python拟合函数曲线
2022/04/14 Python