matplotlib 是python最著名的绘图库,它提供了一整套和matlab相似的命令API,十分适合交互式地进行制图。而且也可以方便地将它作为绘图控件,嵌入GUI应用程序中。
它的文档相当完备,并且 Gallery页面 中有上百幅缩略图,打开之后都有源程序。因此如果你需要绘制某种类型的图,只需要在这个页面中浏览/复制/粘贴一下,基本上都能搞定。
本章节作为matplotlib的入门介绍,将较为深入地挖掘几个例子,从中理解和学习matplotlib绘图的一些基本概念。
先来看一个简单的例子:
# -*- coding: utf-8 -*-
import numpy as np
import matplotlib.pyplot as plt #matplotlib的pyplot子库提供了各种绘图API x = np.linspace(0, 10, 1000) #通过指定开始值,终值和元素个数创建表示等差数列的一维数组,这里创建了从0到10,间隔为0.01的一维等差数组,一般后面还有endpoint参数指定是否包含终值,默认值为True,即包含终值。 y = np.sin(x) #计算括号中元素的正弦值 z = np.cos(x**2) #**指乘方,这里即指x的平方 plt.figure(figsize=(8,4)) #调用figure来创建一个绘图对象,并使它成为当前的绘图对象,figsize来指定绘图对象的宽度和高度,单位为英寸(也可以不创建绘图对象直接调用接下来的plot函数直接绘图,matplotlib会为我们自动创建一个绘图对象。) plt.plot(x,y,label="$sin(x)$",color="red",linewidth=2) #调用plot函数在当前的绘图对象中进行绘图:括号中先将x,y传递给plot后,再用关键字指定各种属性:
Lable:给所绘制的曲线一个名字,此名字在图示(legend)中显示。只要在字符串前后添加"$"符号,matplotlib就会使用其内嵌的latex引擎绘制的数学公式。
color:指定曲线的颜色 linewidth:指定曲线的宽度
plt.plot(x,z,"b--",label="$cos(x^2)$") #b--指定曲线的颜色类型,是一种格式化参数,它能够通过一些易记的符号快速指定曲线的形式,其中b表示蓝色,--表示线型为虚线 plt.xlabel("Time(s)") #设置X轴的名字 plt.ylabel("Volt") #设置Y轴的名字 plt.title("PyPlot First Example")设置图标的标题 plt.ylim(-1.2,1.2) #设置Y轴的范围 plt.legend() #显示图示 plt.show() #显示出我们创建的所有的绘图对象
结果如下: