本次分享10個適用于多個學科的Python數據可視化庫,其中有名氣很大的也有鮮為人知的!
1、matplotlib
兩個直方圖
matplotlib 是Python可視化程序庫的泰斗。經過十幾年它任然是Python使用者最常用的畫圖庫。它的設計和在1980年代被設計的商業化程序語言MATLAB非常接近。
由于 matplotlib 是第一個 Python 可視化程序庫,有許多別的程序庫都是建立在它的基礎上或者直接調用它。
比如pandas和Seaborn就是matplotlib的外包,它們讓你能用更少的代碼去調用 matplotlib的方法。
雖然用 matplotlib 可以很方便的得到數據的大致信息,但是如果要更快捷簡單地制作可供發表的圖表就不那么容易了。
就像Chris Moffitt 在“Python可視化工具簡介”中提到的一樣:“功能非常強大,也非常復雜?!?/p>
matplotlib 那有著強烈九十年代氣息的默認作圖風格也是被吐槽多年。即將發行的matplotlib 2.0 號稱會包含許多更時尚的風格。
2、Seaborn
Violinplot (Michael Waskom)
Seaborn利用了matplotlib,用簡潔的代碼來制作好看的圖表。
Seaborn跟matplotlib最大的區別就是它的默認繪圖風格和色彩搭配都具有現代美感。
由于Seaborn是構建在matplotlib的基礎上的,你需要了解matplotlib從而來調整Seaborn的默認參數。
3、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。
4、Bokeh
Interactive weather statistics for three cities (Continuum Analytics)
跟ggplot一樣, Bokeh 也是基于《圖形語法》的概念。
但是跟ggplot不一樣的是,它完全基于Python而不是從R引用過來的。
它的長處在于它能用于制作可交互,可直接用于網絡的圖表。圖表可以輸出為JSON對象,HTML文檔或者可交互的網絡應用。
Boken也支持數據流和實時數據。Bokeh為不同的用戶提供了三種控制水平。
最高的控制水平用于快速制圖,主要用于制作常用圖像, 例如柱狀圖,盒狀圖,直方圖。
中等控制水平跟matplotlib一樣允許你控制圖像的基本元素(例如分布圖中的點)。
最低的控制水平主要面向開發人員和軟件工程師。
它沒有默認值,你得定義圖表的每一個元素。
5、pygal
Box plot (Florian Mounier)
pygal 跟 Bokeh 和 Plotly 一樣,提供可直接嵌入網絡瀏覽器的可交互圖像。
跟其他兩者的主要區別在于它可以將圖表輸出為SVG格式。
如果你的數據量相對小,SVG就夠用了。但是如果你有成百上千的數據點,SVG的渲染過程會變得很慢。
由于所有的圖表都被封裝成了方法,而且默認的風格也很漂亮,用幾行代碼就可以很容易地制作出漂亮的圖表。
6、Plotly
Line plot (Plotly)
你也許聽說過在線制圖工具Plotly,但是你知道你可以通過Python使用它么?
Plotly 跟 Bokeh 一樣致力于交互圖表的制作,但是它提供在別的庫中很難找到的幾種圖表類型,比如等值線圖,樹形圖和三維圖表。
7、geoplotlib
Choropleth (Andrea Cuttone)
geoplotlib 是一個用于制作地圖和地理相關數據的工具箱。
你可以用它來制作多種地圖,比如等值區域圖, 熱度圖,點密度圖。
你必須安裝 Pyglet (一個面向對象編程接口)來使用geoplotlib。不過因為大部分Python的可視化工具不提供地圖,有一個專職畫地圖的工具也是挺方便的。
8、Gleam
Scatter plot with trend line (David Robinson)
Gleam 借用了R中 Shiny 的靈感。它允許你只利用 Python 程序將你的分析變成可交互的網絡應用,你不需要會用HTML CSS 或者 JaveScript。
Gleam 可以使用任何一種 Python 的可視化庫。
當你創建一個圖表的時候,你可以在上面加上一個域,這樣用戶可以用它來對數據排序和過濾了。
9、missingno
Nullity matrix (Aleksey Bilogur)
缺失數據是永遠的痛。
missingno 用圖像的方式讓你能夠快速評估數據缺失的情況,而不是在數據表里面步履維艱。
你可以根據數據的完整度對數據進行排序或過濾,或者根據熱度圖或樹狀圖來考慮對數據進行修正。
10、Leather
Chart grid with consistent scales (Christopher Groskopf)
Leather的最佳定義來自它的作者 Christopher Groskopf。
“Leather 適用于現在就需要一個圖表并且對圖表是不是完美并不在乎的人。”
它可以用于所以的數據類型然后生成SVG圖像,這樣在你調整圖像大小的時候就不會損失圖像質量。
審核編輯:劉清
-
控制器
+關注
關注
112文章
16203瀏覽量
177400 -
HTML
+關注
關注
0文章
277瀏覽量
34391 -
MATLAB仿真
+關注
關注
4文章
176瀏覽量
19903 -
SVG
+關注
關注
0文章
127瀏覽量
16392 -
python
+關注
關注
56文章
4782瀏覽量
84453
原文標題:Python那些優質可視化工具!
文章出處:【微信號:magedu-Linux,微信公眾號:馬哥Linux運維】歡迎添加關注!文章轉載請注明出處。
發布評論請先 登錄
相關推薦
評論