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 可爱的大小写
Sep 06 Python
Python的批量远程管理和部署工具Fabric用法实例
Jan 23 Python
10款最好的Web开发的 Python 框架
Mar 18 Python
Python基于回溯法子集树模板解决旅行商问题(TSP)实例
Sep 05 Python
Python实现将HTML转换成doc格式文件的方法示例
Nov 20 Python
Python3网络爬虫之使用User Agent和代理IP隐藏身份
Nov 23 Python
python3.6+django2.0+mysql搭建网站过程详解
Jul 24 Python
docker django无法访问redis容器的解决方法
Aug 21 Python
python 截取XML中bndbox的坐标中的图像,另存为jpg的实例
Mar 10 Python
Selenium常见异常解析及解决方案示范
Apr 10 Python
Django框架配置mysql数据库实现过程
Apr 22 Python
Python Selenium自动化获取页面信息的方法
Aug 31 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
php实现jQuery扩展函数
2009/10/30 PHP
php file_get_contents抓取Gzip网页乱码的三种解决方法
2013/11/12 PHP
使用纯php代码实现页面伪静态的方法
2015/07/25 PHP
php示例详解Constructor Prototype Pattern 原型模式
2015/10/15 PHP
php、java、android、ios通用的3des方法(推荐)
2016/09/09 PHP
php中引用&的用法分析【变量引用,函数引用,对象引用】
2016/12/12 PHP
php基于SQLite实现的分页功能示例
2017/06/21 PHP
jquery load()在firefox(火狐)下显示不正常的解决方法
2011/04/05 Javascript
javascript中的self和this用法小结
2014/02/08 Javascript
javascript操纵OGNL标签示例代码
2014/06/16 Javascript
Node.js中require的工作原理浅析
2014/06/24 Javascript
招聘网站基于jQuery实现自动刷新简历
2015/05/10 Javascript
JS实现的网页背景闪电闪烁效果代码
2015/10/17 Javascript
Node.js + Redis Sorted Set实现任务队列
2016/09/19 Javascript
js轮播图的插件化封装详解
2017/07/17 Javascript
[原创]jQuery实现合并/追加数组并去除重复项的方法
2018/04/11 jQuery
微信小程序实现长按删除图片的示例
2018/05/18 Javascript
VUE页面中通过双击实现复制表格中内容的示例代码
2020/06/11 Javascript
js实现从右往左匀速显示图片(无缝轮播)
2020/06/29 Javascript
[45:18]完美世界DOTA2联赛循环赛 PXG vs IO 第二场 11.06
2020/11/09 DOTA
Python决策树分类算法学习
2017/12/22 Python
pandas.cut具体使用总结
2019/06/24 Python
python读文件的步骤
2019/10/08 Python
使用Python进行防病毒免杀解析
2019/12/13 Python
PageFactory设计模式基于python实现
2020/04/14 Python
python 检测图片是否有马赛克
2020/12/01 Python
html5手机端页面可以向右滑动导致样式受影响的问题
2018/06/20 HTML / CSS
PHP数据运算类型都有哪些
2013/11/05 面试题
国外软件测试工程师面试题
2016/12/09 面试题
市政工程技术专业自荐书
2014/07/06 职场文书
安全保证书
2015/01/16 职场文书
党小组评议意见
2015/06/02 职场文书
CSS3 制作精美的定价表
2021/04/06 HTML / CSS
SQL中的三种去重方法小结
2021/11/01 SQL Server
zabbix自定义监控nginx状态实现过程
2021/11/01 Servers
详解Python如何批量采集京东商品数据流程
2022/01/22 Python