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 字符串格式化代码
Mar 17 Python
python之wxPython菜单使用详解
Sep 28 Python
Python中的is和id用法分析
Jan 26 Python
Python生成随机密码
Mar 10 Python
python 采集中文乱码问题的完美解决方法
Sep 27 Python
python dataframe常见操作方法:实现取行、列、切片、统计特征值
Jun 09 Python
Python基于多线程实现ping扫描功能示例
Jul 23 Python
python调用c++ ctype list传数组或者返回数组的方法
Feb 13 Python
python多线程http压力测试脚本
Jun 25 Python
django 配置阿里云OSS存储media文件的例子
Aug 20 Python
Python中zipfile压缩包模块的使用
May 14 Python
python用tkinter开发的扫雷游戏
Jun 01 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中通过ADODB库实现调用Access数据库之修正版本
2006/12/31 PHP
用Zend Encode编写开发PHP程序
2010/02/21 PHP
php 无限级数据JSON格式及JS解析
2010/07/17 PHP
PHP日期处理函数 整型日期格式
2011/01/12 PHP
PHP实现恶意DDOS攻击避免带宽占用问题方法
2015/05/27 PHP
PHP使用MPDF类生成PDF的方法
2015/12/08 PHP
解决安装WampServer时提示缺少msvcr110.dll文件的问题
2017/07/09 PHP
PHP开发之归档格式phar文件概念与用法详解【创建,使用,解包还原提取】
2017/11/17 PHP
firefox中用javascript实现鼠标位置的定位
2007/06/17 Javascript
javascript中的float运算精度实例分析
2010/08/21 Javascript
JS实现从网页顶部掉下弹出层效果的方法
2015/08/06 Javascript
jquery彩色投票进度条简单实例演示
2020/07/23 Javascript
jquery及js实现动态加载js文件的方法
2016/01/21 Javascript
当jquery ajax遇上401请求的解决方法
2016/05/19 Javascript
RequireJS多页面应用实例分析
2016/06/29 Javascript
js 将图片连接转换成base64格式的简单实例
2016/08/10 Javascript
jQuery弹出层后禁用底部滚动条(移动端关闭回到原位置)
2016/08/29 Javascript
Redux实现组合计数器的示例代码
2018/07/04 Javascript
vue实现element-ui对话框可拖拽功能
2018/08/17 Javascript
jquery弹窗时禁止body滚动条滚动的例子
2019/09/21 jQuery
从0到1学习JavaScript编写贪吃蛇游戏
2020/07/28 Javascript
Vue-router编程式导航的两种实现代码
2021/03/04 Vue.js
浅谈Python NLP入门教程
2017/12/25 Python
致Python初学者 Anaconda入门使用指南完整版
2018/04/05 Python
python使用rpc框架gRPC的方法
2018/08/24 Python
Python和Java的语法对比分析语法简洁上python的确完美胜出
2019/05/10 Python
Python搭建Keras CNN模型破解网站验证码的实现
2020/04/07 Python
Django如何实现防止XSS攻击
2020/10/13 Python
canvas学习笔记之2d画布基础的实现
2019/02/21 HTML / CSS
Canvas系列之滤镜效果
2019/02/12 HTML / CSS
小学教师暑期培训方案
2014/08/28 职场文书
教师节倡议书2015
2015/04/27 职场文书
女方家长婚礼答谢词
2015/09/29 职场文书
创业不要错过,这4种餐饮新模式
2019/07/18 职场文书
解决python存数据库速度太慢的问题
2021/04/23 Python
CSS 实现多彩、智能的阴影效果
2021/05/12 HTML / CSS