matplotlib绘图基本用法-转自(http://blog.csdn.net/mao19931004/article/details/51915016)

本文转载自http://blog.csdn.net/mao19931004/article/details/51915016javascript

<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">












Matplotlib简单入门学习 - CSDN博客






css

Matplotlib简单入门学习

标签: python matplotlib
7611人阅读 评论(0) 收藏 举报
分类:

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

matplotlib在Python中应用最多的2D图像的绘图工具包,使用matplotlib可以很是简单的可视化数据。在matplotlib中使用最多的模块就是pyplot。pyplot很是接近Matlab的绘图实现,并且大多数的命令及其相似Matlab.固然,与Matlab相似,须要不少的数学运算,所以numpy这个组件一样是必不可少的。因此不少人说python+matplotlib+numpy就是MATLAB。固然在此以前,须要配置好相应的环境,在Linux 14.04下版本,利用sublime Text 3能够很是快捷的搭建好开发环境,能够参见博客http://blog.csdn.net/mao19931004/article/details/51834616python

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

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,能够对点的标记的样式以及线条的样式进行设置。ubuntu

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

以及标注和线条的颜色:windows

固然线条的颜色能够以其余方式定制。好比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应该能够理解为坐标轴的位置。可是也不全是,由于它分为上下左右四个位置,就如上图的四个边界,那么左边界和下边界就是咱们一般认为的横坐标和纵坐标。咱们能够将上边界和右边界隐藏,同时将左边界和下边界移动至中心的位置,看看效果:

这样就和咱们一般画数学曲线的方式就同样了。

实现的完整代码是:

import numpy as np
import matplotlib.pyplot as plt


ax = plt.subplot(111)

ax.spines['right'].set_color('none')
ax.spines['top'].set_color('none')
ax.xaxis.set_ticks_position('bottom')
ax.spines['bottom'].set_position(('data',0))
ax.yaxis.set_ticks_position('left')
ax.spines['left'].set_position(('data',0))

x=np.linspace(-np.pi,np.pi,256,endpoint=True)
C,S=np.cos(x),np.sin(x)

plt.plot(x,C,color='red',linewidth=2.5,linestyle='-',label=r'$cos(t)$')
plt.plot(x,S,color='blue',linewidth=2.5,linestyle='-',label=r'$sin(t)$')

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$'])
plt.show()

  • 添加图例说明

说到做图,固然必需要有图例,图例是帮助咱们理解曲线指代的类型,若是让咱们不去仔细分析曲线,就能够知道曲线指代的类型。好比上图的正弦和余弦,咱们要通过分析事后,才知道红色是余弦函数,蓝色是正弦函数,所以图例就很是重要的帮助咱们分析图形。

在画图时候,咱们须要多线条加上label,这样才能够在最后将图例显示出来。

plt.plot(x,C,color='red',linewidth=2.5,linestyle='-',label=r'$cos(t)$')
plt.plot(x,S,color='blue',linewidth=2.5,linestyle='-',label=r'$sin(t)$')
plt.legend(loc='upper left',frameon=False)

位置的可选参数有:

函数的参数的关键字有:

大体的plot的绘图方式入门就这么多,固然plot还有不少不少的内容,须要的什么比较好的方式绘图,就能够去参阅相关的资料,固然之后若是遇到新的内容,会继续介绍。

查看评论

一份很是好的Matplotlib 教程

Matplotlib 教程 发表于 2014 年 09 月 11 日 | 分类于 Algorithm and Computer Science | 本文共被围观 52922 ...
  • u011497262
  • u011497262
  • 2016年08月26日 10:05
  • 46921

Python 绘图 Matplotlib 快速参考手册

http://www.labri.fr/perso/nrougier/teaching/matplotlib/#quick-references 1 做图函数 1.1 默认参数做图import n...
  • claroja
  • claroja
  • 2017年04月18日 13:34
  • 2201

Python 数据科学入门教程:Matplotlib

Matplotlib 入门教程 来源:Introduction to Matplotlib and basic line 译者:飞龙 协议:CC BY-NC-SA 4.0 ...
  • wizardforcel
  • wizardforcel
  • 2017年01月13日 11:45
  • 21206

python matplotlib模块——绘制三维图形、三维数据散点图

python matplotlib模块,是扩展的MATLAB的一个绘图工具库。他能够绘制各类图形,但是最近最的一个小程序,获得一些三维的数据点图,就学习了下python中的matplotlib模块,如...
  • Eddy_zheng
  • Eddy_zheng
  • 2015年09月24日 16:55
  • 61848

Matplotlib绘图和可视化

Matplotlib绘图和可视化Matplotlib绘图和可视化 matplotlib API 入门 Figure和Subplot 颜色标记和线型 刻度标签和图例 注解以及在Subplot上绘图 将图...
  • ice_martin
  • ice_martin
  • 2017年03月12日 14:05
  • 1794

使用 python Matplotlib 库绘图

Matplotlib的安装能够参见 官网连接 http://matplotlib.org/users/installing.html 下面总结步骤以下: windows 注意下载.exe格式 直接安...
  • gfsfg8545
  • gfsfg8545
  • 2013年08月02日 12:59
  • 44921

matplotlib

  • 2015年09月11日 16:33
  • 3.93MB
  • 下载

matplotlib绘图实例:pyplot、pylab模块及做图参数

http://blog.csdn.net/pipisorry/article/details/40005163 Matplotlib绘图实例(使用pyplot模块) matplotli...
  • pipisorry
  • pipisorry
  • 2014年10月12日 00:47
  • 55438

python科学计算学习二:matplotlib绘图(极坐标 3D绘图等)(3)

matplotlib作图
  • u012192662
  • u012192662
  • 2014年03月05日 11:40
  • 30347

【python图像处理】python绘制3D图形

3D图形在数据分析、数据建模、图形和图像处理等领域中都有着普遍的应用,下面将给你们介绍一下如何使用python进行3D图形的绘制,包括3D散点、3D表面、3D轮廓、3D直线(曲线)以及3D文字等的绘制...
  • guduruyu
  • guduruyu
  • 2017年09月21日 11:45
  • 4624
    我的资料
    专栏达人 锲而不舍
    等级:
    访问量: 12万+
    积分: 1943
    排名: 2万+
    博客专栏
    最新评论
关闭

posted on 2018-03-13 15:35 bugstar 阅读(...) 评论(...) 编辑 收藏

相关文章
相关标签/搜索