学习matplotlib--pyplot教程
来源:互联网 发布:招标数据.net 编辑:程序博客网 时间:2024/05/18 10:15
学习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轴的labelplt.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 pltplt.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 npimport matplotlib.pyplot as plt# evenly sampled time at 200ms intervalst = np.arange(0., 5., 0.2)# red dashes, blue squares and green trianglesplt.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 argsplt.setp(lines, color='r', linewidth=2.0)# or MATLAB style string value pairsplt.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教程
- matplotlib.pyplot官方翻译教程
- Python matplotlib简介 Pyplot教程
- Matplotlib 中文用户指南 3.1 pyplot 教程
- Matplotlib 中文用户指南 3.1 pyplot 教程
- matplotlib.pyplot
- matplotlib.pyplot
- Python学习-windows安装Python以及matplotlib.pyplot包
- python学习之(8)简单绘图matplotlib.pyplot
- Python学习-windows安装Python以及matplotlib.pyplot包
- python matplotlib.pyplot importerror
- 【python】matplotlib.pyplot介绍
- matplotlib.pyplot.imshow
- matplotlib.pyplot介绍
- matplotlib.pyplot画图
- matplotlib.pyplot入门
- Python---matplotlib.pyplot
- matplotlib.pyplot.py
- WebTech学习日记(1)
- win10安装SqlServer2014
- C++11 并发指南二(std::thread 详解)
- 通俗介绍拉普拉斯变换,傅里叶变换和z变换
- C++11 并发指南三(std::mutex 详解)
- 学习matplotlib--pyplot教程
- Python网页爬虫提示urllib2.HTTPError: HTTP Error 403: Forbidden 错误
- 【Python】学习笔记——-14、常用第三方模块
- Java中主类中定义方法加static和不加static的区别
- Web Service基础
- Mysql联合查询UNION和UNION ALL的使用介
- 关于浮动(转载)
- JavaScript运行机制 消息队列 --学习篇
- 【Python】学习笔记——-15、virtualenv