学习matplotlib--pyplot教程
2017-02-28 00:38
603 查看
学习matplotlib第二弹
——对pyplot Tutorial的翻译
matplotlib.pyplot是一系列使得matplotlib工作的像MATLAB的命令风格函数 。每个pyplot函数都是对一个figure做操作:创建一个figure,在figure上开辟一块绘图区域,画一些直线在绘图区域,用标签(labels)装饰绘图等等。matplotlib.pyplot的各种状态变量保存在函数调用中,以便于跟踪记录当前figure和绘图区域,并且绘图函数值作用于当前的figure的坐标轴
import matplotlib.pyplot as plt #设置Y轴的点 plt.plot([1,2,3,4]) #y轴的label plt.ylabel('some numbers') #显示 plt.show()
生成如下图片:
你也许会疑惑为什么x轴的范围是0~3,y轴的范围是1~4。假如你传入一个列表或者数组给plot()命令,matplotlib会假设这是一系列(a sequence of)y值,并且自动地生成x值给你。因为Python的ranges从0开始,这里默认的x向量与y向量有相同的长度并且值从0开始,所以x向量的数据是[0,1,2,3]。
plot()是一个用法多样的命令(versatile command),能够传入任意数据的参数。例如:你可以将上述例子里的
lt.plot([1,2,3,4])
改为如下
plt.plot([1, 2, 3, 4], [1, 4, 9, 16])
图片就变为:
对于任何一对x,y参数对,这里有一个可选的第三个参数–格式字串(format string),用来指定颜色和线条类型。格式字符串的字母符号取自MATLIB,在格式字符串中你能使用颜色字串标识颜色,线条类型子串标识线条类型(PS:就像C读文件时的标识串,eg:“r+”,”bw”一个意思)。默认的格式子串是”b-“,表示是一条坚实的蓝色线条。举例:如果要画上一些红色的圈,你要这样写
import matplotlib.pyplot as plt plt.plot([1,2,3,4], [1,4,9,16], 'ro') plt.axis([0, 6, 0, 20]) plt.show()
看plot()的说明文档将有更详细的说明。
上述例子的axis()命令传入一列参数[xmin,xmax,ymin,ymax],指定坐标轴的x,y轴的最大最小值(viewport of the exes)
假如matplotlib只限制于处理这种普通的数据列表格式的数据,那它对数值处理(numeric processing)的作用将非常小。一般来说,你会使用numpy数组。事实上,所有序列都在内部被转换为numpy数组.下面这个例子将说明在一条plot命令传入数组画出不同格式的几条直线。
import numpy as np import matplotlib.pyplot as plt # evenly sampled time at 200ms intervals t = np.arange(0., 5., 0.2) # red dashes, blue squares and green triangles plt.plot(t, t, 'r--', t, t**2, 'bs', t, t**3, 'g^') plt.show()
图片如下:
如何控制线属性
线条有许多你能够设置的属性:线宽,dash style,抗锯齿等等可以看matplotlib.lines.Line2D这里有几种方法来设置线条属性(line properties)用关键字参数
#设置线宽 plt.plot(x, y, linewidth=2.0)
用Line2D实例的设置器方法。假设plot返回一列Line2D对象,如line1,line2=plot(x1, y1, x2, y2).在下面的代码中我们将假使我们只有一条线,所以列表返回的长度是1,把列表以line拆包,我们取列表的第一个element
line, = plt.plot(x, y, '-') line.set_antialiased(False) # turn off antialising
用setp()命令,下面的例子用了MATLAB风格在一系列线条上来设置多重属性,很明显,setp可作用于一系列对象或者单个对象。有能用python关键字参数或者MATLIB风格的 string/value对
lines = plt.plot(x1, y1, x2, y2) # use keyword args plt.setp(lines, color='r', linewidth=2.0) # or MATLAB style string value pairs plt.setp(lines, 'color', 'r', 'linewidth', 2.0)
下面列出了可用的Line2D属性
如果要得到一系列可设置的线属性,可以调用setp()函数,并以line对象或者一列line对象当做参数传入
In [69]: lines = plt.plot([1, 2, 3]) In [70]: plt.setp(lines) alpha: float animated: [True | False] antialiased or aa: [True | False] ...snip
相关文章推荐
- matplotlib.pyplot官方翻译教程
- Python 学习之三:NumPy,SciPy,Matplotlib教程
- Matplotlib 中文用户指南 3.1 pyplot 教程
- Matplotlib 中文用户指南 3.1 pyplot 教程
- 给深度学习入门者的Python快速教程 - numpy和Matplotlib
- 【备忘】2017年最新北风网零基础学习机器学习(Python语言、算法、Numpy库、MatplotLib)视频教程)
- Python matplotlib简介 Pyplot教程
- 【备忘】2018年最新北风网零基础学习机器学习(Python语言、算法、Numpy库、MatplotLib)视频教程)
- 【备忘】2017年最新北风网零基础学习机器学习(Python语言、算法、Numpy库、MatplotLib)视频教程)
- Ubuntu下搭建深度学习环境教程(scikit-neuralnetwork、matplotlib、Theano等)
- matplotlib.pyplot 绘图详解 matplotlib 安装
- matplotlib学习笔记--Text
- numpy,scipy,matplotlib,pylab,pyplot 杂记
- numpy,scipy,matplotlib配置教程
- CentOS中python输入import matplotlib.pyplot提示有错误
- Python:2D绘图库matplotlib学习总结
- 机器学习之k近邻算法——3、matplotlib简明教程
- matplotlib.pyplot中add_subplot方法参数111的含义
- Python开发环境Wing IDE使用教程之matplotlib 2D绘图库代码调试技巧
- matplotlib绘图实例 pyplot、pylab模块及作图参数