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的PEAK来适配协议的教程
Apr 14 Python
详细讲解用Python发送SMTP邮件的教程
Apr 29 Python
两个使用Python脚本操作文件的小示例分享
Aug 27 Python
Python迭代和迭代器详解
Nov 10 Python
Python类的动态修改的实例方法
Mar 24 Python
Python生成随机数组的方法小结
Apr 15 Python
Django自定义过滤器定义与用法示例
Mar 22 Python
对numpy和pandas中数组的合并和拆分详解
Apr 11 Python
搭建python django虚拟环境完整步骤详解
Jul 08 Python
在pycharm下设置自己的个性模版方法
Jul 15 Python
解决pycharm中导入自己写的.py函数出错问题
Feb 12 Python
python中类与对象之间的关系详解
Dec 16 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
PhpMyAdmin出现export.php Missing parameter: what /export_type错误解决方法
2012/08/09 PHP
基于PHPExcel的常用方法总结
2013/06/13 PHP
PHP字符串的递增和递减示例介绍
2014/02/11 PHP
常见的四种POST 提交数据方式(小总结)
2015/10/08 PHP
分享一个漂亮的php验证码类
2016/09/29 PHP
thinkphp在php7环境下提示Cannot use ‘String’ as class name as it is reserved的解决方法
2016/09/30 PHP
Javascript操纵Cookie实现购物车程序
2007/02/15 Javascript
用javascript做拖动布局的思路
2008/05/31 Javascript
javascript面向对象特性代码实例
2014/06/12 Javascript
21个JavaScript事件(Events)属性汇总
2014/12/02 Javascript
使用jQuery仿苹果官网焦点图特效
2014/12/23 Javascript
js实现键盘Enter键提交表单的方法
2015/05/27 Javascript
小议JavaScript中Generator和Iterator的使用
2015/07/29 Javascript
基于javascript实现图片切换效果
2016/04/17 Javascript
jQuery通过deferred对象管理ajax异步
2016/05/20 Javascript
AngularJS  $on、$emit和$broadcast的使用
2016/09/05 Javascript
JS文件/图片从电脑里面拖拽到浏览器上传文件/图片
2017/03/08 Javascript
Vue 2.X的状态管理vuex记录详解
2017/03/23 Javascript
JS实现移动端触屏拖拽功能
2018/07/31 Javascript
Angular项目如何升级至Angular6步骤全纪录
2018/09/03 Javascript
详解webpack+ES6+Sass搭建多页面应用
2018/11/05 Javascript
使用 vue 实例更好的监听事件及vue实例的方法
2019/04/22 Javascript
[55:11]完美世界DOTA2联赛PWL S2 SZ vs LBZS 第一场 11.26
2020/11/30 DOTA
python3+dlib实现人脸识别和情绪分析
2018/04/21 Python
Python socket套接字实现C/S模式远程命令执行功能案例
2018/07/06 Python
Flask入门之上传文件到服务器的方法示例
2018/07/18 Python
Django 解决新建表删除后无法重新创建等问题
2020/05/21 Python
让IE可以变相支持CSS3选择器
2010/01/21 HTML / CSS
纯CSS打造(无图像无js)的非常流行的讲话(语音)气泡效果
2012/12/28 HTML / CSS
微软加拿大官方网站:Microsoft Canada
2019/04/28 全球购物
应用电子技术专业个人求职信
2013/09/21 职场文书
创意婚礼策划方案
2014/05/18 职场文书
初中教师个人工作总结
2015/02/10 职场文书
违纪学生保证书
2015/02/27 职场文书
小王子读书笔记
2015/06/29 职场文书
创业计划书之青年旅馆
2019/09/23 职场文书