資源描述:
《python的繪圖庫matplotlib快速入門》由會員上傳分享,免費在線閱讀,更多相關(guān)內(nèi)容在教育資源-天天文庫。
1、Python的繪圖庫matplotlib快速入門12Matplotlib—繪制精美的圖表matplotlib是python最著名的繪圖庫,它提供了一整套和matlab相似的命令A(yù)PI,十分適合交互式地進行制圖。而且也可以方便地將它作為繪圖控件,嵌入GUI應(yīng)用程序中。它的文檔相當(dāng)完備,并且Gallery頁面中有上百幅縮略圖,打開之后都有源程序。因此如果你需要繪制某種類型的圖,只需要在這個頁面中瀏覽/復(fù)制/粘貼一下,基本上都能搞定。展示頁面的地址:http://matplotlib.sourceforge.net/galle
2、ry.html3快速繪圖快速繪圖matplotlib的pyplot子庫提供了和matlab類似的繪圖API,方便用戶快速繪制2D圖表。(matplotlib_simple_plot.py)pylab模塊matplotlib還提供了名為pylab的模塊,其中包括了許多numpy和pyplot中常用的函數(shù),方便用戶快速進行計算和繪圖,可以用于IPython中的快速交互式使用。4快速繪圖matplotlib中的快速繪圖的函數(shù)庫可以通過如下語句載入:接下來調(diào)用figure創(chuàng)建一個繪圖對象,并且使它成為當(dāng)前的繪圖對象。通過figs
3、ize參數(shù)可以指定繪圖對象的寬度和高度,單位為英寸;dpi參數(shù)指定繪圖對象的分辨率,即每英寸多少個像素,缺省值為80。因此本例中所創(chuàng)建的圖表窗口的寬度為8*80=640像素。5importmatplotlib.pyplotaspltplt.figure(figsize=(8,4))快速繪圖也可以不創(chuàng)建繪圖對象直接調(diào)用接下來的plot函數(shù)直接繪圖,matplotlib會自動創(chuàng)建一個繪圖對象。如果需要同時繪制多幅圖表的話,可以是給figure傳遞一個整數(shù)參數(shù)指定圖標(biāo)的序號,如果所指定序號的繪圖對象已經(jīng)存在的話,將不創(chuàng)建新的對
4、象,而只是讓它成為當(dāng)前繪圖對象。下面的兩行程序通過調(diào)用plot函數(shù)在當(dāng)前的繪圖對象中進行繪圖:6plt.plot(x,y,label="$sin(x)$",color="red",linewidth=2)plt.plot(x,z,"b--",label="$cos(x^2)$")快速繪圖plot函數(shù)的調(diào)用方式很靈活,第一句將x,y數(shù)組傳遞給plot之后,用關(guān)鍵字參數(shù)指定各種屬性:?label:給所繪制的曲線一個名字,此名字在圖示(legend)中顯示。只要在字符串前后添加''$''符號,matplotlib就會使用其內(nèi)嵌
5、的latex引擎繪制的數(shù)學(xué)公式。?color:指定曲線的顏色?linewidth:指定曲線的寬度第三個參數(shù)‘’b--``指定曲線的顏色和線型7plt.plot(x,y,label="$sin(x)$",color="red",linewidth=2)plt.plot(x,z,"b--",label="$cos(x^2)$“)快速繪圖接下來通過一系列函數(shù)設(shè)置繪圖對象的各個屬性:?xlabel/ylabel:設(shè)置X軸/Y軸的文字?title:設(shè)置圖表的標(biāo)題?ylim:設(shè)置Y軸的范圍?legend:顯示圖示最后調(diào)用plt.sh
6、ow()顯示出創(chuàng)建的所有繪圖對象。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快速繪圖還可以調(diào)用plt.savefig()將當(dāng)前的Figure對象保存成圖像文件,圖像格式由圖像文件的擴展名決定。下面的程序?qū)?dāng)前的圖表保存為“test.
8、png”,并且通過dpi參數(shù)指定圖像的分辨率為120,因此輸出圖像的寬度為“8X120=960”個像素。實際上不需要調(diào)用show()顯示圖表,可以直接用savefig()將圖表保存成圖像文件.使用這種方法可以很容易編寫出批量輸出圖表的程序.11runmatplotlib_simple_plot.pyplt.savef