Pyplot tutorial
matplotlib.pyplot
是一个命令样式的函数的模块,使matplotlib像MATLAB工作。每个pyplot
函数对图形进行一些改变:例如,创建图形,在图形中创建绘制区域,在绘制区域中绘制一些线,用标签等装饰绘图。在matplotlib.pyplot
通过函数调用保留各种状态,以便跟踪当前图形和绘图区域等内容,并且绘图功能指向当前子图(请注意,文档中的“轴”和大多数位置都指 子图,图的子部分,并不是严格数学定义的轴)
import matplotlib.pyplot as plt
plt.plot([1,2,3,4])
plt.ylabel('some numbers')
plt.show()
您可能想知道为什么x轴的范围为0-3,y轴的范围为1-4。 如果你给单个列表或数组到plot()
参数, matplotlib默认它是一个y值序列,并自动为您生成x的值。 由于python范围从0开始,默认x向量要具有与y相同的长度,但从0开始。因此x的数据是[0,1,2,3]
. 读者不妨一试plt.plot([2,3,4,5])
plot()
是一个通用的命令,并将采取任意数量的参数。 例如,要绘制x对y的直线,你可以如下写:
plt.plot([1, 2, 3, 4], [1, 4, 9, 16])
对于每个x,y参数对,有一个可选的第三个参数,它是指示图的颜色和线类型的格式字符串。格式字符串的字母和符号取自MATLAB,并且您将颜色字符串与线型字符串连接在一起。默认的格式化字符串参数是 ‘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]
参数来指定图轴的视长.
如果matplotlib仅限于使用列表类型,它对于数值计算是相当低效的。 一般来说,你会用numpy数组. 事实上,所有序列都在内部转换为numpy数组. 下面的示例说明了如何用一个命令绘制具有不同格式样式的几条曲线,并且使用numpy数组。
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()