matlablib画曲线
示例
先来看看使用matlablib显示一条波形数据的例子
import matplotlib.pyplot as plt
import numpy as np
x = np.linspace(1, 605, 605)
y = np.array([5,9,11,11,9,8,7,5,2,1,3,7,9,9,7,5,5,6,6,6,4,3,4,4,4,4,5,6,5,2,2,2,2,2,2,1,2,2,2,2,2,2,2,1,0,0,1,2,2,1,1,1,1,1,1,2,2,2,2,2,2,2,3,2,2,2,2,2,1,1,1,1,1,1,2,2,1,1,1,1,1,0,1,1,1,0,0,0,0,0,1,1,1,1,0,1,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0])
plt.figure(figsize=(10, 10))
plt.plot(x, y)
plt.xlim((1, 605))
plt.ylim((0, 255))
plt.xlabel('x axis')
plt.ylabel('y axis')
my_x_ticks = np.arange(1, 605, 50)
my_y_ticks = np.arange(0, 255, 10)
plt.xticks(my_x_ticks)
plt.yticks(my_y_ticks, np.arange(0, 100, 4))
plt.show()
plt.close
linspace
linspace是用于创建一个一维数组,并且是等差数列构成的一维数组;如:
>>> import numpy
>>> a = numpy.linspace(1, 10, 10)
>>> a
array([ 1., 2., 3., 4., 5., 6., 7., 8., 9., 10.])
这里第一个参数表示起始数值,第二个参数表示终止数值, 第三个参数表示数列个数。
其实还有第四个参数endpoint,默认为True
,如果该参数设置为False
,则输出的数组将不包含终止数值。
figure
调用figure能够创建一个用来显示图形输出的一个窗口对象.
函数原型
def figure(num=None, figsize=None, dpi=None, facecolor=None, edgecolor=None, frameon=True, FigureClass=Figure, clear=False, **kwargs)
- num: 整型或字符串,可选,默认为
None
如果不设置该参数,创建figure时,Figure号会递增,生成的对象会保存递增后的号码
如果用数字设置该参数,当指定的id号已经生成Figure了,则返回该Figure的索引,则还没有生成,则创建他并返回
如果用字符设置该参数,则将会用该参数设置窗口标题 - figsize: 整型数组(元组),可选,默认为
None
宽度和长度的单位为英寸,如果不提供该参数,默认会设置为rc figure.figsize
- dpi: 整型,可选,默认为
None
窗口的分辨率 - facecolor: 背景颜色
- edgecolor: 边框颜色
- framon: 布尔值,可选,默认为
True
设置为False
时,会停止画Figure帧 - FigureClass:
matplotlib.figure.Figure
的子类
可选,用于自定义Figure实例 - clear: 布尔值,可选,默认为
False
设置为True
且figure对象已经存在时,则对象会被清除 - 返回值: Figure对象
plot
制图
xlim和ylim
分别设置当前X轴和Y轴的上限和上限
xlabel和ylabel
分别设置当前X轴和Y轴的标题
arange
类似于内置函数range()
,通过指定开始值、终值和步长创建表示等差数列的一维数组,注意得到的结果数组不包含终值。与linspace
是不同, linspace
是确定列数。
xticks和yticks
分别获取或设置X轴或Y轴的核度定位和核度标签。
在matplotlib中ticks表示的是刻度,而刻度有两层意思,一个是刻度定位(tick locations),一个是刻度标签(tick labels)。
示例
locs, labels = xticks() #获取定位和标签
xticks(locs, [labels], **kwargs) #设置定位和标签
# 显示x轴的刻标
xticks( arange(6) )
# 显示x轴的刻标以及对应的标签
xticks( arange(5), ('Tom', 'Dick', 'Harry', 'Sally', 'Sue') )
此外xticks()还可以传入matplotlib.text.Text类的属性来控制显示的样式
xticks( arange(12), calendar.month_name[1:13], rotation=17 )
如果不想显示ticks则可以可以传入空的参数如yticks([])
show
显示Figure,程序会阻塞在这里,当用户关闭Figure窗口后才会往下执行,退出程序前,记得关闭窗口
转载请注明来源,欢迎对文章中的引用来源进行考证,欢迎指出任何有错误或不够清晰的表达。可以在下面评论区评论,也可以邮件至 add358@163.com
文章标题:matlablib画曲线
文章字数:1.4k
本文作者:Jake Yang
发布时间:2018-12-06, 11:31:26
最后更新:2019-12-16, 16:03:36
原始链接:https://add358.github.io/2018/12/06/Language-Python-2018-12-06-matlablib画曲线/版权声明: "署名-非商用-相同方式共享 4.0" 转载请保留原文链接及作者。