资源描述:
《python的绘图库matplotlib快速入门》由会员上传分享,免费在线阅读,更多相关内容在教育资源-天天文库。
1、Python的绘图库matplotlib快速入门12Matplotlib—绘制精美的图表matplotlib是python最著名的绘图库,它提供了一整套和matlab相似的命令API,十分适合交互式地进行制图。而且也可以方便地将它作为绘图控件,嵌入GUI应用程序中。它的文档相当完备,并且Gallery页面中有上百幅缩略图,打开之后都有源程序。因此如果你需要绘制某种类型的图,只需要在这个页面中浏览/复制/粘贴一下,基本上都能搞定。展示页面的地址:http://matplotlib.sourceforge.net/galle
2、ry.html3快速绘图快速绘图matplotlib的pyplot子库提供了和matlab类似的绘图API,方便用户快速绘制2D图表。(matplotlib_simple_plot.py)pylab模块matplotlib还提供了名为pylab的模块,其中包括了许多numpy和pyplot中常用的函数,方便用户快速进行计算和绘图,可以用于IPython中的快速交互式使用。4快速绘图matplotlib中的快速绘图的函数库可以通过如下语句载入:接下来调用figure创建一个绘图对象,并且使它成为当前的绘图对象。通过figs
3、ize参数可以指定绘图对象的宽度和高度,单位为英寸;dpi参数指定绘图对象的分辨率,即每英寸多少个像素,缺省值为80。因此本例中所创建的图表窗口的宽度为8*80=640像素。5importmatplotlib.pyplotaspltplt.figure(figsize=(8,4))快速绘图也可以不创建绘图对象直接调用接下来的plot函数直接绘图,matplotlib会自动创建一个绘图对象。如果需要同时绘制多幅图表的话,可以是给figure传递一个整数参数指定图标的序号,如果所指定序号的绘图对象已经存在的话,将不创建新的对
4、象,而只是让它成为当前绘图对象。下面的两行程序通过调用plot函数在当前的绘图对象中进行绘图:6plt.plot(x,y,label="$sin(x)$",color="red",linewidth=2)plt.plot(x,z,"b--",label="$cos(x^2)$")快速绘图plot函数的调用方式很灵活,第一句将x,y数组传递给plot之后,用关键字参数指定各种属性:•label:给所绘制的曲线一个名字,此名字在图示(legend)中显示。只要在字符串前后添加''$''符号,matplotlib就会使用其内嵌
5、的latex引擎绘制的数学公式。•color:指定曲线的颜色•linewidth:指定曲线的宽度第三个参数‘’b--``指定曲线的颜色和线型7plt.plot(x,y,label="$sin(x)$",color="red",linewidth=2)plt.plot(x,z,"b--",label="$cos(x^2)$“)快速绘图接下来通过一系列函数设置绘图对象的各个属性:•xlabel/ylabel:设置X轴/Y轴的文字•title:设置图表的标题•ylim:设置Y轴的范围•legend:显示图示最后调用plt.sh
6、ow()显示出创建的所有绘图对象。8plt.xlabel("Time(s)")plt.ylabel("Volt")plt.title("PyPlotFirstExample")plt.ylim(-1.2,1.2)plt.legend()快速绘图9importnumpyasnpimportmatplotlib.pyplotaspltx=np.linspace(0,10,1000)y=np.sin(x)z=np.cos(x**2)plt.figure(figsize=(8,4))plt.plot(x,y,label="$si
7、n(x)$",color="red",linewidth=2)plt.plot(x,z,"b--",label="$cos(x^2)$")plt.xlabel("Time(s)")plt.ylabel("Volt")plt.title("PyPlotFirstExample")plt.ylim(-1.2,1.2)plt.legend()plt.show()快速绘图10快速绘图还可以调用plt.savefig()将当前的Figure对象保存成图像文件,图像格式由图像文件的扩展名决定。下面的程序将当前的图表保存为“test.
8、png”,并且通过dpi参数指定图像的分辨率为120,因此输出图像的宽度为“8X120=960”个像素。实际上不需要调用show()显示图表,可以直接用savefig()将图表保存成图像文件.使用这种方法可以很容易编写出批量输出图表的程序.11runmatplotlib_simple_plot.pyplt.savef