物信息、统计、网页制作、计算等多个领域都体现出了强大的功能.python和其他脚本语言如java、R、Perl 一样,都可以直接在命令行里运行脚本程序.工具/原料
python;CMD命令行;windows操作系统
方法/步骤
脚本第一行一定要写上 #!usr/bin/python
表示该脚本文件是可执行python脚本
如果python目录不在usr/bin目录下,则替换成当前python执行程序的目录.
①.、Numpy常用方法使用大全(超详细)
①.、Series和DataFrame简单入门
①.、Matplotlib绘图之属性设置
①.、层次分析法(AHP)——算数平均值法、几何平均值法、特征值法(Python实现,超详细注释)
在函数拟合中,如果用p表示函数中需要确定的参数,那么目标就是找到一组p,使得下面函数S的值最小:
这种算法称为最小二乘法拟合.Python的Scipy数值计算库中的optimize模块提供了 leastsq() 函数,可以对数据进行最小二乘拟合计算.
此处利用该函数对一段弧线使用圆方程进行了拟合,并通过Matplotlib模块进行了作图,程序内容如下:
Python的使用中需要导入相应的模块,此处首先用 import 语句
分别导入了numpy, leastsq与pylab模块,其中numpy模块常用用与数组类型的建立,读入等过程.leastsq则为最小二乘法拟合函数.pylab是绘图模块.
此时此刻呢我们需要读入需要进行拟合的数据,这里使用了 numpy.loadtxt() 函数:
其参数有:
进行拟合时,首先我们需要定义一个目标函数.对于圆的方程,我们需要圆心坐标(a,b)以及半径r三个参数,方便起见用p来存储:
紧接着就可以进行拟合了, leastsq() 函数需要至少提供拟合的函数名与参数的初始值:
返回的结果为一数组,分别为拟合得到的参数与其误差值等,这里只取拟合参数值.
leastsq() 的参数具体有:
输出选项有:
最后我们可以将原数据与拟合结果一同做成线状图,可采用 pylab.plot() 函数:
pylab.plot() 函数需提供两列数组作为输入,其他参数可调控线条颜色,形状,粗细以及对应名称等性质.视需求而定,此处不做详解.
pylab.legend() 函数可以调控图像标签的位置,有无边框等性质.
pylab.annotate() 函数设置注释,需至少提供注释内容与放置位置坐标的参数.
pylab.show() 函数用于显示图像.
最终结果如下图所示:
用Python作科学计算
numpy.loadtxt
scipy.optimize.leastsq
实验中往往由于各种原因会存在一定的误差,针对这一波动范围我们称之为置信区间.在可视化数据时,Matplotlib中的误差棒图(errorbar, 官方项目地址 )可以很好的表现这种有一定置信区间的带误差数据.
matplotlib.pyplot.errorbar(x, y, yerr=None, xerr=None, fmt='', ecolor=None, elinewidth=None, capsize=None, capthick=None)
主要参数说明:
x,y: 数据点的位置坐标
xerr,yerr: 数据的误差范围
fmt: 数据点的标记样式以及相互之间连接线样式
ecolor: 误差棒的线条颜色
elinewidth: 误差棒的线条粗细
capsize: 误差棒边界横杠的大小
capthick: 误差棒边界横杠的厚度
ms: 数据点的大小
mfc: 数据点的颜色
mec: 数据点边缘的颜色
示例:
运行结果:
今天开始琢磨用Python画图,没使用之前是一脸懵的,我使用的开发环境是Pycharm,这个输出的是一行行命令,这个图画在哪里呢?
搜索之后发现,它会弹出一个对话框,然后就开始画了,比如下图
第一个常用的库是Turtle,它是Python语言中一个很流行的绘制图像的函数库,这个词的意思就是乌龟,你可以想象下一个小乌龟在一个x和y轴的平面坐标系里,从原点开始根据指令控制,爬行出来就是绘制的图形了.
它最常用的指令就是旋转和移动,比如画个圆,就是绕着圆心移动;再比如上图这个怎么画呢,其实主要就两个命令:
然后呢? 循环重复就画出来这个图了
好玩吧.
有需要仔细研究的可以看下这篇文章 ,这个牛人最后用这个库画个移动的钟表,太赞了.
Turtle虽好玩,但是我想要的是我给定数据,然后让它画图,这里就找到另一个常用的画图的库了.
Matplotlib是python最著名的绘图库,它提供了一整套和matlab相似的命令API,十分适合交互式地行制图.其中,matplotlib的pyplot模块一般是最常用的,可以方便用户快速绘制二维图表.
使用起来也挺简单,
首先import matplotlib.pyplot as plt?导入画图的图.
然后给定x和y,用这个命令plt.plot(x, y)就能画图了,接着用plt.show()就可以把图形展示出来.
接着就是各种完善,比如加标题,设定x轴和y轴标签,范围,颜色,网格等等,在 这篇文章里介绍的很详细.
现在互联网的好处就是你需要什么内容,基本上都能搜索出来,而且还是免费的.
我为什么要研究这个呢?当然是为了用,比如我把比特币的曲线自己画出来可好?
假设现在有个数据csv文件,一列是日期,另一列是比特币的价格,那用这个命令画下:
这两列数据读到pandas中,日期为df['time']列,比特币价格为df['ini'],那我只要使用如下命令
plt.plot(df['time'], df['ini'])
plt.show()
就能得到如下图:
自己画的是不是很香,哈哈!
图形如下:
继续谷歌一下,把第二个Y轴放右边就行了,不过呢得使用多图,重新绘制
fig = plt.figure() # 多图
ax1 = fig.add_subplot(111)
ax1.plot(df['time'], df['ini'], label="BTC price")? #?绘制第一个图比特币价格
ax1.set_ylabel('BTC price') #?加上标签
# 第二个直接对称就行了
plt.grid(color="k", linestyle=":")# 网格
fig.legend(loc="center")#图例
跑起来看看效果,虽然丑了点,但终于跑通了.
这样就可以把所有指数都绘制到一张图中,等等,三个甚至多个Y轴怎么加?这又是一个问题,留给爱思考爱学习的你.
Matplotlib
是一个由 John Hunter 等开发的,用以绘制二维图形的 Python 模块.它利用了 Python 下的数值计算模块 Numeric
及 Numarray,克隆了许多 Matlab 中的函数, 用以帮助用户轻松地获得高质量的二维图形.
以上就是土嘎嘎小编为大家整理的python误差棒图函数相关主题介绍,如果您觉得小编更新的文章只要能对粉丝们有用,就是我们最大的鼓励和动力,不要忘记讲本站分享给您身边的朋友哦!!