十大Python數據可視化庫(繪圖專用)

10個對所有學科都有用的Python數據可視化庫

瀏覽一下Python程序庫目錄你會發現無論要畫什麼圖,都能找到相對的庫——從適用於眼球移動研究的GazeParser,到用於可視化實時神經網絡訓練過程的pastalog。有許多庫只完成非常特定的任務,也有許多可以用於更廣泛的領域。

今天我們會介紹一下10個適用於多個學科的Python數據可視化庫,其中有名氣很大的也有鮮爲人知的。在這裏我們提醒一下大家如果想輕鬆的在本地運行Python,可以使用Mode Python Notebooks。

matplotlib
在這裏插入圖片描述
兩個直方圖
matplotlib 是Python可視化程序庫的泰斗。經過十幾年它任然是Python使用者最常用的畫圖庫。它的設計和在1980年代被設計的商業化程序語言MATLAB非常接近。
由於 matplotlib 是第一個 Python 可視化程序庫,有許多別的程序庫都是建立在它的基礎上或者直接調用它。比如pandas和Seaborn就是matplotlib的外包,它們讓你能用更少的代碼去調用 matplotlib的方法。
雖然用matplotlib可以很方便的得到數據的大致信息,但是如果要更快捷簡單地製作可供發表的圖表就不那麼容易了。就像Chris Moffitt 在“Python可視化工具簡介”中提到的一樣:“功能非常強大,也非常複雜。”
matplotlib 那有着強烈九十年代氣息的默認作圖風格也是被吐槽多年。即將發行的matplotlib 2.0 號稱會包含許多更時尚的風格。
開發者:John D. Hunter, 資源:Mode
更多資料:matplotlib.org
Try matplotlib in Mode.

Seaborn
在這裏插入圖片描述
Violinplot (Michael Waskom)
Seaborn利用了matplotlib,用簡潔的代碼來製作好看的圖表。Seaborn跟matplotlib最大的區別就是它的默認繪圖風格和色彩搭配都具有現代美感。由於Seaborn是構建在matplotlib的基礎上的,你需要了解matplotlib從而來調整Seaborn的默認參數。
開發者: Michael Waskom, 資源 Mode
更多資料: http://web.stanford.edu/~mwaskom/software/seaborn/index.html
Try Seaborn in Mode

ggplot
在這裏插入圖片描述
Small multiples (ŷhat)
ggplot 基於R的一個作圖包 ggplot2, 同時利用了源於 《圖像語法》(The Grammar of Graphics)中的概念。ggplot 跟 matplotlib 的不同之處是它允許你疊加不同的圖層來完成一幅圖。比如你可以從軸開始,然後加上點,加上線,趨勢線等等。雖然《圖像語法》得到了“接近思維過程”的作圖方法的好評,但是習慣了matplotlib的用戶可能需要一些時間來適應這個新思維方式。
ggplot的作者提到 ggplot 並不適用於製作非常個性化的圖像。它爲了操作的簡潔而犧牲了圖像複雜度。
ggplot is tightly integrated with pandas, so it’s best to store your data in a DataFrame when using ggplot.
ggplot跟pandas的整合度非常高,所以當你使用它的時候,最好將你的數據讀成 DataFrame。
開發者: ŷhat
更多資料: http://ggplot.yhathq.com/.

Bokeh
在這裏插入圖片描述
Interactive weather statistics for three cities (Continuum Analytics)
跟ggplot一樣, Bokeh 也是基於《圖形語法》的概念。但是跟ggplot不一樣的是,它完全基於Python而不是從R引用過來的。它的長處在於它能用於製作可交互,可直接用於網絡的圖表。圖表可以輸出爲JSON對象,HTML文檔或者可交互的網絡應用。Boken也支持數據流和實時數據。
Bokeh爲不同的用戶提供了三種控制水平。最高的控制水平用於快速製圖,主要用於製作常用圖像, 例如柱狀圖,盒狀圖,直方圖。中等控制水平跟matplotlib一樣允許你控制圖像的基本元素(例如分佈圖中的點)。最低的控制水平主要面向開發人員和軟件工程師。它沒有默認值,你得定義圖表的每一個元素。
開發者: Continuum Analytics
更多資料: http://bokeh.pydata.org/en/latest/

pygal
在這裏插入圖片描述
Box plot (Florian Mounier)
pygal 跟 Bokeh 和 Plotly 一樣,提供可直接嵌入網絡瀏覽器的可交互圖像。跟其他兩者的主要區別在於它可以將圖表輸出爲SVG格式。如果你的數據量相對小,SVG就夠用了。但是如果你有成百上千的數據點,SVG的渲染過程會變得很慢。
由於所有的圖表都被封裝成了方法,而且默認的風格也很漂亮,用幾行代碼就可以很容易地製作出漂亮的圖表。
開發者: Florian Mounier
更多資料: http://www.pygal.org/en/latest/index.html

Plotly
在這裏插入圖片描述
Line plot (Plotly)
你也許聽說過在線製圖工具Plotly,但是你知道你可以通過Python notebook使用它麼?Plotly 跟 Bokeh 一樣致力於交互圖表的製作,但是它提供在別的庫中很難找到的幾種圖表類型,比如等值線圖,樹形圖和三維圖表。
開發者: Plotly, 資源 Mode
更多資料: https://plot.ly/python/
Try Plotly in Mode.

geoplotlib
在這裏插入圖片描述
Choropleth (Andrea Cuttone)
geoplotlib 是一個用於製作地圖和地理相關數據的工具箱。你可以用它來製作多種地圖,比如等值區域圖, 熱度圖,點密度圖。你必須安裝 Pyglet (一個面向對象編程接口)來使用geoplotlib。 不過因爲大部分Python的可視化工具不提供地圖,有一個專職畫地圖的工具也是挺方便的。
開發者: Andrea Cuttone
更多資料: https://github.com/andrea-cuttone/geoplotlib

Gleam
在這裏插入圖片描述
Scatter plot with trend line (David Robinson)
Gleam 借用了R中 Shiny 的靈感。 它允許你只利用 Python 程序將你的分析變成可交互的網絡應用,你不需要會用HTML CSS 或者 JaveScript。Gleam 可以使用任何一種 Python 的可視化庫。當你創建一個圖表的時候,你可以在上面加上一個域,這樣用戶可以用它來對數據排序和過濾了。
開發者: David Robinson
更多資料: https://github.com/dgrtwo/gleam

missingno
在這裏插入圖片描述
Nullity matrix (Aleksey Bilogur)
缺失數據是永遠的痛。missingno 用圖像的方式讓你能夠快速評估數據缺失的情況,而不是在數據表裏面步履維艱。你可以根據數據的完整度對數據進行排序或過濾,或者根據熱度圖或樹狀圖來考慮對數據進行修正。
開發者: Aleksey Bilogur
更多資料: https://github.com/ResidentMario/missingno

Leather
在這裏插入圖片描述
Chart grid with consistent scales (Christopher Groskopf)
Leather的最佳定義來自它的作者 Christopher Groskopf:“Leather 適用於現在就需要一個圖表並且對圖表是不是完美並不在乎的人。”它可以用於所以的數據類型然後生成SVG圖像,這樣在你調整圖像大小的時候就不會損失圖像質量。這個庫很新,一些文檔還沒有最後完成。圖像成品非常基礎——但是這就是設計目標。
開發者: Christopher Groskopf
更多資料: http://leather.readthedocs.io/en/latest/index.html

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章