切換語言為:簡體
分享 10 個 Python 優質好用視覺化工具!

分享 10 個 Python 優質好用視覺化工具!

  • 爱糖宝
  • 2024-05-25
  • 2085
  • 0
  • 0

本次分享10個適用於多個學科的Python資料視覺化庫,其中有名氣很大的也有鮮為人知的!

1、matplotlib

分享 10 個 Python 優質好用視覺化工具!

兩個直方圖

matplotlib 是Python視覺化程式庫的泰斗。經過十幾年它任然是Python使用者最常用的畫相簿。它的設計和在1980年代被設計的商業化程式語言MATLAB非常接近。

由於 matplotlib 是第一個 Python 視覺化程式庫,有許多別的程式庫都是建立在它的基礎上或者直接呼叫它。

比如pandas和Seaborn就是matplotlib的外包,它們讓你能用更少的程式碼去呼叫 matplotlib的方法。

雖然用 matplotlib 可以很方便的得到資料的大致資訊,但是如果要更快捷簡單地製作可供發表的圖表就不那麼容易了。

就像Chris Moffitt 在“Python視覺化工具簡介”中提到的一樣:“功能非常強大,也非常複雜。”

matplotlib 那有著強烈九十年代氣息的預設作圖風格也是被吐槽多年。即將發行的matplotlib 2.0 號稱會包含許多更時尚的風格。

開發者:John D. Hunter

更多資料:http://matplotlib.org/

2、Seaborn

分享 10 個 Python 優質好用視覺化工具!

Violinplot (Michael Waskom)

Seaborn利用了matplotlib,用簡潔的程式碼來製作好看的圖表。

Seaborn跟matplotlib最大的區別就是它的預設繪圖風格和色彩搭配都具有現代美感。

由於Seaborn是構建在matplotlib的基礎上的,你需要了解matplotlib從而來調整Seaborn的預設引數。

開發者: Michael Waskom

更多資料:http://seaborn.pydata.org/index.html

3、ggplot

分享 10 個 Python 優質好用視覺化工具!

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/

4、Bokeh

分享 10 個 Python 優質好用視覺化工具!

Interactive weather statistics for three cities (Continuum Analytics)

跟ggplot一樣, Bokeh 也是基於《圖形語法》的概念。

但是跟ggplot不一樣的是,它完全基於Python而不是從R引用過來的。

它的長處在於它能用於製作可互動,可直接用於網路的圖表。圖表可以輸出為JSON物件,HTML文件或者可互動的網路應用。

Boken也支援數據流和實時資料。Bokeh為不同的使用者提供了三種控制水平。

最高的控制水平用於快速製圖,主要用於製作常用影象, 例如柱狀圖,盒狀圖,直方圖。

中等控制水平跟matplotlib一樣允許你控制影象的基本元素(例如分佈圖中的點)。

最低的控制水平主要面向開發人員和軟體工程師。

它沒有預設值,你得定義圖表的每一個元素。

開發者: Continuum Analytics

更多資料:https://docs.bokeh.org/en/latest/

5、pygal

分享 10 個 Python 優質好用視覺化工具!

Box plot (Florian Mounier)

pygal 跟 Bokeh 和 Plotly 一樣,提供可直接嵌入網路瀏覽器的可互動影象。

跟其他兩者的主要區別在於它可以將圖表輸出為SVG格式。

如果你的資料量相對小,SVG就夠用了。但是如果你有成百上千的資料點,SVG的渲染過程會變得很慢。

由於所有的圖表都被封裝成了方法,而且預設的風格也很漂亮,用幾行程式碼就可以很容易地製作出漂亮的圖表。

開發者: Florian Mounier

更多資料:http://www.pygal.org/en/latest/index.html

6、Plotly

分享 10 個 Python 優質好用視覺化工具!

Line plot (Plotly)

你也許聽說過線上製圖工具Plotly,但是你知道你可以透過Python使用它麼?

Plotly 跟 Bokeh 一樣致力於互動圖表的製作,但是它提供在別的庫中很難找到的幾種圖表型別,比如等值線圖,樹形圖和三維圖表。

開發者: Plotly

更多資料:https://plotly.com/python/

7、geoplotlib

分享 10 個 Python 優質好用視覺化工具!

Choropleth (Andrea Cuttone)

geoplotlib 是一個用於製作地圖和地理相關資料的工具箱。

你可以用它來製作多種地圖,比如等值區域圖, 熱度圖,點密度圖。

你必須安裝 Pyglet (一個物件導向程式設計介面)來使用geoplotlib。不過因為大部分Python的視覺化工具不提供地圖,有一個專職畫地圖的工具也是挺方便的。

開發者: Andrea Cuttone

更多資料:https://github.com/andrea-cuttone/geoplotlib

8、Gleam

分享 10 個 Python 優質好用視覺化工具!

Scatter plot with trend line (David Robinson)

Gleam 借用了R中 Shiny 的靈感。它允許你只利用 Python 程式將你的分析變成可互動的網路應用,你不需要會用HTML CSS 或者 JaveScript。

Gleam 可以使用任何一種 Python 的視覺化庫。

當你建立一個圖表的時候,你可以在上面加上一個域,這樣使用者可以用它來對資料排序和過濾了。

開發者: David Robinson

更多資料:https://github.com/dgrtwo/gleam

9、missingno

分享 10 個 Python 優質好用視覺化工具!

Nullity matrix (Aleksey Bilogur) 

缺失資料是永遠的痛。

missingno 用影象的方式讓你能夠快速評估資料缺失的情況,而不是在資料表裏麵步履維艱。

你可以根據資料的完整度對資料進行排序或過濾,或者根據熱度圖或樹狀圖來考慮對資料進行修正。

開發者: Aleksey Bilogur

更多資料:https://github.com/ResidentMario/missingno

10、Leather

分享 10 個 Python 優質好用視覺化工具!

Chart grid with consistent scales (Christopher Groskopf)

Leather的最佳定義來自它的作者 Christopher Groskopf。

“Leather 適用於現在就需要一個圖表並且對圖表是不是完美並不在乎的人。”

它可以用於所以的資料型別然後生成SVG影象,這樣在你調整影象大小的時候就不會損失影象質量。

開發者: Christopher Groskopf

更多資料:

https://leather.readthedocs.io/en/latest/index.html

0則評論

您的電子郵件等資訊不會被公開,以下所有項目均必填

OK! You can skip this field.