现在的位置: 主页 > 在线留言 > 文章正文

Matplotlib简单入门学习

作者:成都渝祥金属丝网制品有限公司 来源:www.cdyuxiang.com 未知发布时间:2017-09-11 14:09:31
Matplotlib简单入门学习

因为学习机器学习以及试图通过python实现相应的算法,因此学习了Matplotlib中的画图,那么就问到,问啥不用matlab呢,答:多一门技术,多一口饭;而且发现Matplotlib的画图功能还是蛮强大的,这次仅仅只是学习了以前在MATLAB里面会的相应的东西,然后学习一下在python中对应的知识。

matplotlib在Python中应用最多的2D图像的绘图工具包,使用matplotlib能够非常简单的可视化数据。在matplotlib中使用最多的模块就是pyplot。pyplot非常接近Matlab的绘图实现,而且大多数的命令及其类似Matlab.当然,与Matlab类似,需要很多的数学运算,因此numpy这个组件同样是必不可少的。所以很多人说python+matplotlib+numpy就是MATLAB。当然在此之前,需要配置好相应的环境,在Linux 14.04下版本,利用sublime Text 3可以非常快捷的搭建好开发环境。

首先,在matplotlib建议使用别名,引入包,这样方便以后模块的使用,一般以以下两句开始:

import numpy as np import matplotlib.pyplot as plt

接下来以绘制正弦余弦函数曲线为例,介绍相应的函数。

使用默认的绘图属性绘图 x=np.linspace(-np.pi,np.pi,256,endpoint=True) C,S=np.cos(x),np.sin(x) plt.plot(x,C) plt.plot(x,S)

\

对线条的颜色,宽度进行设置,就像在matlab中一样: plt.plot(x,C,color='red',linewidth=2.5,linestyle='-') plt.plot(x,S,color='blue',linewidth=2.5,linestyle='-')

\

对plot函数的讲解

上面介绍了简单的绘图,用的基本上都是plot,因此有必要对plot函数进行简单的介绍。官网参考网址:plot使用。熟悉Matlab的人对plot不会陌生,在matplotlib中的使用方式大致和Matlab中是一致的,使用plot,可以对点的标记的样式以及线条的样式进行设置。

函数的声明为:matplotlib.pyplot.plot(*args,**kwargs)。args的参数的长度是不定 的,可以设置很多的属性,kwargs主要是应用于设置线条的属性。对于标注和线条的样式,可以通过简单的字符来表示:

\

以及标注和线条的颜色:

\

当然线条的颜色可以以其他方式定制。比如16进制的字符串('#008000')或者是RGB、RGBA元组的方式RGB or RGBA ((0,1,0,1))来实现不同的颜色。

在接下来会应用到更多的属性。对于Line2D的具体细节,也就是线条的属性等,可以进一步查阅Line2D.

设置横轴、纵轴的界限以及标注

很多时候,需要设置横轴和纵轴的界面,从而得到更加清晰明了的图形:

plt.xlim(X.min()*1.1, X.max()*1.1) plt.ylim(C.min()*1.1, C.max()*1.1) 此外为了更好的表示横轴和纵轴数据的含义,可以通过ticks对横轴和纵轴的含义进行设置和定制。 plt.xlim(x.min()*1.1, x.max()*1.1) plt.xticks([-np.pi, -np.pi/2, 0, np.pi/2, np.pi], [r'$-\pi$', r'$-\pi/2$', r'$0$', r'$+\pi/2$', r'$+\pi$']) plt.ylim(C.min()*1.1,C.max()*1.1) plt.yticks([-1, 0, +1], [r'$-1$', r'$0$', r'$+1$']) 看到yticks和xticks后面一串的数字,看到就觉得可能有点不知道写的什么,熟悉LaTex的人觉得我们这种想法的人有点傻。其实就是很简单的字符串,但是是为了方便Latex去解析这段字符串。一般以r开始,中间的字符串用$字符串$包围起来。这里是matplotlib中的有关LaTex的使用介绍:Latex的使用

上面的\pi代表的意义就是π。以下是有关希腊字符的表示:

\

最后的显示图像为:

\

这样数据的意义就更加清晰明了了。

设置Spines的位置。

Spines are the lines connecting the axis tick marks and noting the boundaries of the data area. They can be placed at arbitrary positions。

Spines应该可以理解为坐标轴的位置。但是也不全是,因为它分为上下左右四个位置,就如上图的四个边界,那么左边界和下边界就是我们通常认为的横坐标和纵坐标。我们可以将上边界和右边界隐藏,同时将左边界和下边界移动至中心的位置,看看效果:

\

这样就和我们通常画数学曲线的方式就一样了。

企业建站2800元起,携手武汉肥猫科技,做一个有见地的颜值派!更多优惠请戳:荆门SEO http://jingmen.raoyu.net

上一篇:.NET业务实体类验证组件Fluent Validation 下一篇:最后一页