資源描述:
《matplotlib繪圖基礎(chǔ)》由會(huì)員上傳分享,免費(fèi)在線閱讀,更多相關(guān)內(nèi)容在應(yīng)用文檔-天天文庫。
1、專業(yè)技術(shù)資料整理分享matplotlib繪圖基礎(chǔ)matplotlib介紹matplotlib是Python最著名的繪圖庫,它提供了一整套和matlab相似的命令A(yù)PI,十分適合交互式地進(jìn)行制圖。而且也可以方便地將它作為繪圖控件,嵌入GUI應(yīng)用程序中。它的文檔相當(dāng)完備,并且Gallery頁面中有上百幅縮略圖,打開之后都有源程序。因此如果你需要繪制某種類型的圖,只需要在這個(gè)頁面中瀏覽/復(fù)制/粘貼一下,基本上都能搞定。在Linux下比較著名的數(shù)據(jù)圖工具還有g(shù)nuplot,這個(gè)是免費(fèi)的,Python有一個(gè)包可以調(diào)用gnuplot,但是語法比
2、較不習(xí)慣,而且畫圖質(zhì)量不高。而Matplotlib則比較強(qiáng):Matlab的語法、python語言、latex的畫圖質(zhì)量(還可以使用內(nèi)嵌的latex引擎繪制的數(shù)學(xué)公式)。可以在Ipython中輸入類似"plt.plot??"的命令查看pyplot模塊的函數(shù)是如何對(duì)各種繪圖對(duì)象進(jìn)行包裝的。面向?qū)ο蠓绞嚼L圖matplotlib實(shí)際上是一套面向?qū)ο蟮睦L圖庫,它所繪制的圖表中的每個(gè)繪圖元素,例如線條Line2D、文字Text、刻度等在內(nèi)存中都有一個(gè)對(duì)象與之對(duì)應(yīng)。為了方便快速繪圖matplotlib通過pyplot模塊提供了一套和MATLAB類
3、似的繪圖API,將眾多繪圖對(duì)象所構(gòu)成的復(fù)雜結(jié)構(gòu)隱藏在這套API內(nèi)部。我們只需要調(diào)用pyplot模塊所提供的函數(shù)就可以實(shí)現(xiàn)快速繪圖以及設(shè)置圖表的各種細(xì)節(jié)。pyplot模塊雖然用法簡(jiǎn)單,但不適合在較大的應(yīng)用程序中使用。獲取當(dāng)前圖和軸線為了將面向?qū)ο蟮睦L圖庫包裝成只使用函數(shù)的調(diào)用接口,pyplot模塊的內(nèi)部保存了當(dāng)前圖表以及當(dāng)前子圖等信息。當(dāng)前的圖表和子圖可以使用plt.gcf()和plt.gca()獲得,分別表示"GetCurrentFigure"和"GetCurrentAxes"。在pyplot模塊中,許多函數(shù)都是對(duì)當(dāng)前的Figure
4、或Axes對(duì)象進(jìn)行處理,比如說:plt.plot()實(shí)際上會(huì)通過plt.gca()獲得當(dāng)前的Axes對(duì)象ax,然后再調(diào)用ax.plot()方法實(shí)現(xiàn)真正的繪圖。如,用下面的代碼先獲得axes對(duì)象再用ax來操作ax=plt.gca()ax=plt.axes()地如設(shè)置xy軸的tickers就要用ax.yaxis來操作ax.yaxis.set_minor_locator(yminorLocator)安裝numpy和matplotlibpipinstallnumpypipinstallmatplotlibmatplotlib安裝出錯(cuò)Impo
5、rtError:libBLT.2.4.so.8.6:cannotopensharedobjectfile:Nosuchfileordirectory,pleaseinstallthepython3-tkpackage[importmatplotlib.pyplotaspltfailswitherroraboutpython-tk]檢測(cè)是否安裝成功:>>>importnumpy>>>numpy.__version__>>>importmatplotlib>>>matplotlib.__version__不同繪圖語言比較工科生說Matl
6、ab完爆其他數(shù)學(xué)系的說Mathematica高貴冷艷統(tǒng)計(jì)系的說R語言作圖領(lǐng)域天下無敵計(jì)算機(jī)系的說Python低調(diào)奢華有內(nèi)涵[如何在論文中畫出漂亮的插圖]matplotlib.pyplot模塊-快速繪圖matplotlib的pyplot子庫提供了和matlab類似的繪圖API,方便用戶快速繪制2D圖表。1.調(diào)用figure創(chuàng)建一個(gè)繪圖對(duì)象,并且使它成為當(dāng)前的繪圖對(duì)象。(可選)plt.figure(figsize=(8,4))也可以不創(chuàng)建繪圖對(duì)象直接調(diào)用接下來的plot函數(shù)直接繪圖,matplotlib會(huì)為我們自動(dòng)創(chuàng)建一個(gè)繪圖對(duì)象?。
7、ORD文檔下載可編輯專業(yè)技術(shù)資料整理分享如果需要同時(shí)繪制多幅圖表的話,可以是給figure傳遞一個(gè)整數(shù)參數(shù)指定圖標(biāo)的序號(hào),如果所指定序號(hào)的繪圖對(duì)象已經(jīng)存在的話,將不創(chuàng)建新的對(duì)象,而只是讓它成為當(dāng)前繪圖對(duì)象。figsize參數(shù):指定繪圖對(duì)象的寬度和高度,單位為英寸;dpi參數(shù)指定繪圖對(duì)象的分辨率,即每英寸多少個(gè)像素,缺省值為80。因此本例中所創(chuàng)建的圖表窗口的寬度為8*80=640像素。但是用show()出來的工具欄中的保存按鈕保存下來的png圖像的大小是800*400像素。這是因?yàn)楸4鎴D表用的函數(shù)savefig使用不同的DPI配置,s
8、avefig函數(shù)也有一個(gè)dpi參數(shù),如果不設(shè)置的話,將使用matplotlib配置文件中的配置,此配置可以通過如下語句進(jìn)行查看:>>>matplotlib.rcParams["savefig.dpi"]1002.通過調(diào)用plot函數(shù)在