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

1、Chaco

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

2、mayavi

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

Python課程

3、其他庫

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

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

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