用Python創(chuàng)建圖形的方式*多,除了開源庫(kù),商業(yè)庫(kù)也不少。其中mateplotlib是Python領(lǐng)域中使用*廣泛的繪圖工具。但是它在統(tǒng)計(jì)圖表的創(chuàng)建和展示方面仍然有許多缺點(diǎn)。雖然可以創(chuàng)建漂亮的圖表,但是需要耗費(fèi)大量的精力,因?yàn)樗臼菫橛∷⒍O(shè)計(jì)的。先不管美不美觀,至少他足以應(yīng)付大部分需求。在pandas中,我跟其他開發(fā)人員一直都在尋求使數(shù)據(jù)分析中的大部分繪圖工作變得更簡(jiǎn)單的辦法。那么廣泛使用的圖形化工具有哪些呢?今天小編簡(jiǎn)單來(lái)介紹幾個(gè)。

1、Chaco

Chaco是由Enthought開發(fā)的一個(gè)繪圖工具包,它既可以繪制靜態(tài)圖又可以生成交互式圖形。它*適合用復(fù)雜的圖形化方式表達(dá)數(shù)據(jù)的內(nèi)部關(guān)系。跟mateplotlib相比,Chaco對(duì)交互的支持要好得多,而且渲染速度很快。如果要?jiǎng)?chuàng)建交互式的GUI應(yīng)用程序,它確實(shí)十分不錯(cuò)的選擇。

2、mayavi

mayavi項(xiàng)目是一個(gè)基于開源C++圖形庫(kù)VTK的3D圖形工具包。跟mateplotlib一樣,mayavi也能集成到IPython以實(shí)現(xiàn)交互式使用。通過(guò)鼠標(biāo)和鍵盤操作,圖形可以被平移、旋轉(zhuǎn)、縮放。

Python課程

3、其他庫(kù)

當(dāng)然,Python領(lǐng)域中還有許多其他的圖形化庫(kù)和應(yīng)用程序:PyQwt、Veusz、gnuplotpy、biggles等。我就曾經(jīng)見過(guò)PyQwt被用在基于Qt框架的GUI應(yīng)用程序中。許多庫(kù)都還在不斷的發(fā)展。近幾年來(lái),我發(fā)現(xiàn)了一個(gè)總體趨勢(shì):大部分庫(kù)都在向基于Web四維技術(shù)發(fā)展,并逐漸遠(yuǎn)離桌面圖形技術(shù)。

基于Web技術(shù)的圖形化是必然的發(fā)展趨勢(shì)。毫無(wú)疑問(wèn),許多基于Flash或JavaScript的靜態(tài)或交互式圖形化工具已經(jīng)出現(xiàn)了很多年。而且類似的新工具包一直在不斷涌現(xiàn)。相比之下,非Web式的圖形化開發(fā)工作在近幾年中減慢了許多。Python以及其他數(shù)據(jù)分析和統(tǒng)計(jì)計(jì)算環(huán)境都是如此。

于是,開發(fā)方向就變成了實(shí)現(xiàn)數(shù)據(jù)分析和準(zhǔn)備工具與Web瀏覽器之間更為緊密地集成。希望這個(gè)思路今后能成為Python以及非Python用戶之間富有成效的協(xié)作手段。