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中生成器和yield语句的用法详解
Apr 17 Python
Python自动重试HTTP连接装饰器
Apr 28 Python
python函数局部变量用法实例分析
Aug 04 Python
浅析Python中signal包的使用
Nov 13 Python
python实现给scatter设置颜色渐变条colorbar的方法
Dec 13 Python
python中数组和矩阵乘法及使用总结(推荐)
May 18 Python
python自动化测试之DDT数据驱动的实现代码
Jul 23 Python
Python人工智能之路 之PyAudio 实现录音 自动化交互实现问答
Aug 13 Python
python脚本之一键移动自定格式文件方法实例
Sep 02 Python
python  ceiling divide 除法向上取整(或小数向上取整)的实例
Dec 27 Python
Python OpenCV实现传统图片格式与base64转换
Jun 13 Python
Python使用海龟绘图实现贪吃蛇游戏
Jun 18 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
上海牌131型七灯四波段四喇叭一级收音机
2021/03/02 无线电
图象函数中的中文显示
2006/10/09 PHP
PHP 的 __FILE__ 常量
2007/01/15 PHP
php REMOTE_ADDR之获取访客IP的代码
2008/04/22 PHP
php字符比较函数similar_text、strnatcmp与strcasecmp用法分析
2014/11/18 PHP
php微信高级接口调用方法(自定义菜单接口、客服接口、二维码)
2016/11/28 PHP
浅谈PHP中pack、unpack的详细用法
2018/03/12 PHP
php实现的数组转xml案例分析
2019/09/28 PHP
Jquery调用webService远程访问出错的解决方法
2010/05/21 Javascript
javascript拓展DOM操作 prependChild insertAfert
2010/11/17 Javascript
深入理解JavaScript编程中的同步与异步机制
2015/06/24 Javascript
浅析Node.js 中 Stream API 的使用
2015/10/23 Javascript
原生js实现jquery函数animate()动画效果的简单实例
2016/08/21 Javascript
jQuery的deferred对象使用详解
2016/09/25 Javascript
微信小程序 slider的简单实例
2017/04/19 Javascript
js中null与空字符串""的区别讲解
2019/01/17 Javascript
转换layUI的数据表格中的日期格式方法
2019/09/19 Javascript
python搜索指定目录的方法
2015/04/29 Python
python实现多线程抓取知乎用户
2016/12/12 Python
Python基于QRCode实现生成二维码的方法【下载,安装,调用等】
2017/07/11 Python
Python使用progressbar模块实现的显示进度条功能
2018/05/31 Python
Pandas中resample方法详解
2019/07/02 Python
python卸载后再次安装遇到的问题解决
2019/07/10 Python
Python3查找列表中重复元素的个数的3种方法详解
2020/02/13 Python
如何通过Python3和ssl实现加密通信功能
2020/05/09 Python
详解python百行有效代码实现汉诺塔小游戏(简约版)
2020/10/30 Python
斯凯奇美国官网:SKECHERS美国
2016/08/20 全球购物
英国知名的护肤彩妆与时尚配饰大型综合零售电商:Unineed
2016/11/21 全球购物
澳大利亚制造的蜡烛和扩散器:Glasshouse Fragrances
2018/05/20 全球购物
Java程序员面试题
2016/09/27 面试题
经管应届生求职信
2013/11/17 职场文书
物业客服专员岗位职责
2013/11/30 职场文书
法学函授自我鉴定
2014/02/06 职场文书
文员岗位职责范本
2014/03/08 职场文书
2014年党风廉政建设工作总结
2014/11/19 职场文书
劳动争议仲裁代理词
2015/05/25 职场文书