Python可視化庫解析

2021-02-23 Python統計分析

如果你想做一些專業的統計圖表,我推薦你使用Seaborn,Altair;數學,科學,工程領域的學者就選擇PyQtGraph,VisPy,Mayavi2;網絡研究和分析方面,NetworkX,python-igraph會是一個不錯的選擇。
地理投影就選geoplotlib,folium;評估數據缺失就選missingno;有了HoloViews再也不用為高維圖形犯愁;如果你不喜歡花俏的修飾,那就選擇Leather。
如果你是一名新手但有MATLAB基礎,matplotlib會很好上手;有R基礎的就選ggplot;如果你是新手或懶癌晚期者,Plotly將會是一大福音,它提供了大量圖表集可供你選擇與使用。

1.matplotlib

Matplotlib是一個Python 2維繪圖庫,已經成為python中公認的數據可視化工具,通過Matplotlib你可以很輕鬆地畫一些或簡單或複雜地圖形,幾行代碼即可生成線圖、直方圖、功率譜、條形圖、錯誤圖、散點圖等等。

對於一些簡單的繪圖,特別是與IPython結合使用時,pyplot模塊提供了一個matlab接口。你可以通過面向對象的接口或通過一些MATLAB的函數來更改控制行樣式、字體屬性、軸屬性等

安裝:pip install matplotlib

2.Seaborn

Seaborn是基於matplotlib產生的一個模塊,專攻於統計可視化,可以和pandas進行無縫連結,使初學者更容易上手。相對於matplotlib,Seaborn語法更簡潔,兩者關係類似於numpy和pandas之間的關係。

安裝:pip install seaborn

3.HoloViews

HoloViews是一個開源的Python庫,可以用非常少的代碼行中完成數據分析和可視化,通過結合Bokeh提供的交互式小部件,快速呈現交互性和高維可視化,使HoloViews變得更加強大。

安裝:pip install HoloViews

4.Altair

Altair是Python的一個公認的統計可視化庫。它的API簡單、友好、一致,並建立在強大的vega - lite(交互式圖形語法)之上。Altair API不包含實際的可視化呈現代碼,而是按照vega - lite規範發出JSON數據結構。由此產生的數據可以在用戶界面中呈現,這種優雅的簡單性產生了漂亮且有效的可視化效果,且只需很少的代碼。

數據源是一個DataFrame,它由不同數據類型的列組成。DataFrame是一種整潔的格式,其中的行與樣本相對應,而列與觀察到的變量相對應。數據通過數據轉換映射到使用組的視覺屬性(位置、顏色、大小、形狀、面板等)。

安裝: pip install Altair

5.PyQtGraph

PyQtGraph是在PyQt4 / PySide和numpy上構建的純 python的GUI圖形庫。它主要用於數學,科學,工程領域。儘管它完全是在python中編寫的,但它對數字運算和Qt的GraphicsView框架的影響巨大,速度也非常快。

安裝: pip install PyQtGraph

6.ggplot

ggplot是基於R的ggplot2和圖形語法的Python的繪圖系統,實現了更少的代碼繪製更專業的圖形。

它使用一個高級且富有表現力的API來實現線,點等元素的添加,顏色的更改等不同類型的可視化組件的組合或添加,而不需要重複使用相同的代碼,然而這對那些試圖進行高度定製的的來說,ggplot並不是最好的選擇,儘管它也可以製作一些非常複雜、好看的圖形。

ggplot與pandas緊密聯繫。如果你打算使用ggplot,最好將數據保存在DataFrames中。

下載ggplot安裝包然後運行

安裝:pip install ggplot?0.11.5?py2.py3?none?any.whl?

7.Bokeh

Bokeh是一個Python交互式可視化庫,支持現代化web瀏覽器展示(圖表可以輸出為JSON對象,HTML文檔或者可交互的網絡應用)。它提供風格優雅、簡潔的D3.js的圖形化樣式,並將此功能擴展到高性能交互的數據集,數據流上。使用Bokeh可以快速便捷地創建交互式繪圖、儀錶板和數據應用程式等。

Bokeh能與NumPy,Pandas,Blaze等大部分數組或表格式的數據結構完美結合。

安裝: conda install bokeh

8.pygal

pygal是一種開放標準的矢量圖形語言,它基於XML(Extensible Markup Language),可以生成多個輸出格式的高解析度Web圖形頁面,還支持給定數據的html表導出。用戶可以直接用代碼來描繪圖像,可以用任何文字處理工具打開SVG圖像,通過改變部分代碼來使圖像具有交互功能,並且可以插入到HTML中通過瀏覽器來觀看。

安裝: python -m pip install

9.VisPy

VisPy是一個用於交互式科學可視化的Python庫,快速、可伸縮、且易於使用,是一個高性能的交互式2D / 3D數據可視化庫,利用了現代圖形處理單元(gpu)的計算能力,通過OpenGL庫來顯示非常大的數據集。

安裝: pip install VisPy

10.NetworkX

NetworkX是一個Python包,用於創建、操縱和研究複雜網絡的結構、以及學習複雜網絡的結構、功能及其動力學。

NetworkX提供了適合各種數據結構的圖表、二合字母和多重圖,還有大量標準的圖算法,網絡結構和分析措施,可以產生隨機網絡、合成網絡或經典網絡,且節點可以是文本、圖像、XML記錄等,並提供了一些示例數據(如權重,時間序列)。

NetworkX測試的代碼覆蓋率超過90%,是一個多樣化,易於教學,能快速生成圖形的Python平臺。

安裝: pip install networkx

11.Plotly

Plotly的Python graphing library在網上提供了交互式的、公開的,高質量的圖表集,可與R、python、matlab等軟體對接。它擁有在別的庫中很難找到的幾種圖表類型,如等值線圖,樹形圖和三維圖表等,圖標類型也十分豐富,申請了API密鑰後,可以一鍵將統計圖形同步到雲端。但美中不足的是,打開國外網站會比較費時,且一個帳號只能創建25個圖表,除非你升級或刪除一些圖表。

安裝: pip install plotly

12.geoplotlib

Basemap和Cartopy包支持多個地理投影,並提供一些可視化效果,包括點圖、熱圖、等高線圖和形狀文件。PySAL是一個由Python編寫的空間分析函數的開源庫,它提供了許多基本的工具,主要用於形狀文件。但是,這些庫不允許用戶繪製地圖貼圖,並且對自定義可視化、交互性和動畫的支持有限。

geoplotlib是python的一個用於地理數據可視化和繪製地圖的工具箱,並提供了一個原始數據和所有可視化之間的基本接口,支持在純python中開發硬體加速的交互式可視化,並提供點映射、內核密度估計、空間圖、泰森多邊形圖、形狀文件和許多更常見的空間可視化的實現。除了為常用的地理數據可視化提供內置的可視化功能外,geoplotlib還允許通過定義定製層來定義複雜的數據可視化(繪製OpenGL,如分數、行和具有高性能的多邊形),創建動畫。

安裝:pip install geoplotlib

13.folium

folium是一個建立在Python系統之上的js庫,可以很輕鬆地將在Python中操作的數據可視化為交互式的單張地圖,且將緊密地將數據與地圖聯繫在一起,可自定義箭頭,網格等HTML格式的地圖標記。該庫還附有一些內置的地形數據。

安裝: pip install folium

安裝: conda install folium

14.Gleam

Gleam允許你只利用Python構建數據的交互式,生成可視化的網絡應用。無需具備HTML CSS或JaveScript知識,就能使用任一種Python可視化庫控制輸入。當你創建一個圖表的時候,你可以在上面加上一個域,讓任何人都可以實時地玩轉你的數據,讓你的數據更通俗易懂。

安裝:pip install Gleam

15.vincent

Vincent是一個很酷的可視化工具,它以Python數據結構作為數據源,然後把它翻譯成Vega可視化語法,並且能夠在d3js上運行。這讓你可以使用Python腳本來創建漂亮的3D圖形來展示你的數據。Vincent底層使用Pandas和DataFrames數據,並且支持大量的圖表—-條形圖、線圖、散點圖、熱力圖、堆條圖、分組條形圖、餅圖、圈圖、地圖等等。

安裝:pip install vincent

16.mpld3

mpld3基於python的graphing library和D3js,匯集了Matplotlib流行的項目的JavaScript庫,用於創建web交互式數據可視化。通過一個簡單的API,將matplotlib圖形導出為HTML代碼,這些HTML代碼可以在瀏覽器內使用。

安裝:pip install mpld3

17.python-igraph

Python界面的igraph高性能圖形庫,主要針對複雜的網絡研究和分析

安裝:pip install python-igraph

18.missingno

沒有高質量的數據,就沒有高質量的數據挖掘結果,當我們做監督學習算法,難免會碰到混亂的數據集,缺失的值,當缺失比例很小時,可直接對缺失記錄進行捨棄或進行手工處理,missingno提供了一個小型的靈活的、易於使用的數據可視化和實用工具集,用圖像的方式讓你能夠快速評估數據缺失的情況,而不是在數據表裡面步履維艱。你可以根據數據的完整度對數據進行排序或過濾,或者根據熱度圖或樹狀圖來考慮對數據進行修正。

missingno 是基於matplotlib建造的一個模塊,所以它出圖速度很快,並且能夠靈活的處理pandas數據。

安裝:pip install missingno

19.Mayavi2

Mayavi2是一個通用的、跨平臺的三維科學數據可視化工具。可以在二維和三維空間中顯示標量、向量和張量數據。可通過自定義源、模塊和數據過濾器輕鬆擴展。Mayavi2也可以作為一個繪圖引擎,生成matplotlib或gnuplot腳本,也可以作為其他應用程式的交互式可視化的庫,將生成的圖片嵌入到其他應用程式中。

安裝:pip install mayavi

20.Leather

Leather一種可讀且用戶界面友好的API,新手也能快速掌握。圖像成品非常基礎,適用於所有的數據類型,針對探索性圖表進行了優化,產生與比例無關的SVG圖,這樣在你調整圖像大小的時候就不會損失圖像質量

安裝:pip install leather

相關焦點

  • python可視化庫大全
    matplotlib算是python比較底層的可視化庫,可定製性強、圖表資源豐富、簡單易用、達到出版質量級別。其它的可視化庫諸如:seaborn、pyecharts、ggplot、plotnine、holoviews、basemap、altair、pyqtgraph、pygal、vispy、networkx、plotly、bokeh、geoplotlib、folium、gleam、vincent、mpld3、python-igraph、missingno、mayavi2
  • python推薦 | 面向地學領域的Python庫匯總
    數據處理•NetCDF格式 : netCDF4-python,h5py,h5netcdf,xarray等。除了上述簡單的數據處理庫之外,python還提供了NCO和CDO工具的封裝,pynco和cdo,提供了更多的便捷操作。•Grib格式:xarray,Iris,pygrib等,有些僅支持類Unix系統。
  • 34個最優秀好用的Python開源框架
    下面是從2018年中近10000個python開源框架中評價整理的34個最為好用的開源框架,它們細分可以分為Python Toolkit、Web、Terminal、Code Editor、Debugging、complier、Data Related、Chart8類,分布情況如下圖:Python ToolKit
  • Python新式類的方法解析順序MRO與Super
    python3以前新式類:廣度優先 python2.2新式類:廣度優先的C3算法實現(拓撲排序) BFS python2.3及以後python 用MRO的目的是什麼解決多重繼承的二義性的問題(二義性:父類存在同名函數的時候會產生二義性)為python調用一個類或者實例方法的時候提供查找順序
  • Bokeh 0.9.0 發布,Python 交互式可視化庫
    Bokeh (Bokeh.js) 是一個 Python 交互式可視化庫,支持現代化 Web 瀏覽器,提供非常完美的展示功能。Bokeh 的目標是使用 D3.js 樣式提供優雅,簡潔新穎的圖形化風格,同時提供大型數據集的高性能交互功能。Boken 可以快速的創建交互式的繪圖,儀錶盤和數據應用。
  • python如何編碼解碼解析json對象
    前言json是一種以鍵值對形式存在的輕量級的數據結構,和python中的字典類型具有相同的表現結構。使用 JSON 函數需要導入 json 庫:import json。在Java中我們知道json有jsonObject和jsonArray,且可以通過String、map等相互轉換,那麼在python中,json對象是如何來讀取解析的呢?python解析json對象1.json.dumpsjson.dumps用於將 Python 對象編碼成 JSON 字符串。
  • 給妹子講python-S01E17函數的基本特徵
    作者:醬油哥/ 清華程序猿       微信公眾號: python數據科學家 知乎專欄: 《給妹子講python》https://
  • 給妹子講python-S01E08理清python中的字符編碼方法
    作者:醬油哥/ 清華程序猿       微信公眾號: python數據科學家 知乎專欄: 《給妹子講python》
  • Python 命令行參數解析庫argparse
    假設我有一個python程序,姑且叫extract_WRF.py,內部代碼如下例子一,腳本中的main主函數功能簡化為列印出輸入的參數,即:print(zone,input_source_dir,output_source_dir,features,levels)參數有zone,input_source_dir,
  • 基於Python的數據可視化庫pyecharts介紹
    雲詞圖基本使用等等案例,就不一一列舉了,python再好,它終究還是需要靠寫代碼來完成的,這樣解決不了生產力的問題,同時也達不到人人都是數據分析師的這樣一個願景,那有沒有更好的解決辦法呢
  • Python 可視化神器--Plotly
    Python第三方庫中我們最常用的可視化庫是 pandas,matplotlib,pyecharts,當然還有 Tableau,另外最近在學習過程中發現另一款可視化神器-Plotly,它是一款用來做數據分析和可視化的在線平臺,功能非常強大,可以在線繪製很多圖形比如條形圖、散點圖、餅圖、直方圖等等。
  • 如何系統地學習Python 中 matplotlib, numpy, scipy, pandas?
    an-absolute-beginners-guide-to-machine-learning-and-data-science-5d87f13f0d51TutorialsPoint 上的這份 Numpy 完整教程:https://www.tutorialspoint.com/numpy以及這份配合史丹福大學 CS 228 課程的 Numpy 教程:https://cs231n.github.io/python-numpy-tutorial
  • python:matplotlib入門詳細教程
    與之齊名,matplotlib作為數據科學的的另一必備庫,算得上是python可視化領域的元老,更是很多高級可視化庫的底層基礎,其重要性不言而喻。本篇對matplotlib進行系統性介紹,不會面面俱到,但求體系完備、詳略得當。
  • 這幾個常用的python庫你需要知道
    python可以說是近幾年最火熱、最實用的、最容易上手的工具之一了。功能強大、應用廣泛,可以幫你搜集工作數據,還能幫你下載音樂,電影,於是就掀起了一波學習python的大潮,小編也毫不猶豫的加入了。但是對於向小編一樣的小白來說,剛開始學習還是有些困難的,需要首先了解python的一些基礎知識。所以小編就整理了一些常用的python庫,希望對正在學習python的小夥伴有所幫助。1.MatplotlibMatplotlib是一個用於創建二維圖和圖形的底層庫。藉由它的幫助,你可以構建各種不同的圖標,從直方圖和散點圖到費笛卡爾坐標圖。
  • [快學Python3]XML解析處理 - Element Tree
    概述本文就是python xml解析進行講解,在python中解析xml有很多種方法,本文通過實例來講解如何使用ElementTree來解析xml。對於其他的xml解析方法,請自行去查找資料。請注意,本文不是ElementTree手冊,不會將所有的特性進行演示,筆者從實際用到的一些關鍵特性進行實例演示,對於其他特性,大家可以參見官方文檔學習和了解:https://docs.python.org/3/library/xml.etree.elementtree.html什麼是
  • python數據科學系列:matplotlib入門詳細教程
    與之齊名,matplotlib作為數據科學的的另一必備庫,算得上是python可視化領域的元老,更是很多高級可視化庫的底層基礎,其重要性不言而喻。本篇對matplotlib進行系統性介紹,不會面面俱到,但求體系完備、詳略得當。
  • Python爬蟲html解析,還在用BeautifulSoup嗎?試試PyQuery吧
    在初學python時,大家都喜歡寫些小腳本來爬些網頁,因為這能在最短的時間讓我們達到一種小小的滿足感,通常我們解析網頁時有幾種方法:正則表達式匹配 - 比較低級用beautifulsoup、pyquery等包解析用scrapy、pyspider等框架來解析其實,方法
  • 我的Python筆記·BioPython(一)
    ,比如:解析文件格式,這些信息包括如基因和蛋白質序列、蛋白質結構、PubMed記錄等等;從資源庫下載文件,這些資源包括NCBI,ExPASy等;運行(本地或遠程)常用的生物信息學算法,如BLAST,ClustalW等;運行Biopython實現的算法,進行聚類、機器學習、數據分析和可視化。
  • python解析json方法
    最近在學ES,往裡面灌數據,ES默認格式是json,因此需要用到python去處理json格式。
  • Python:Pandas的DataFrame如何按指定list排序
    原始碼需要的童鞋可在微信公眾號「Python數據之道」(ID:PyDataRoad)後臺回復關鍵字獲取視頻,關鍵字如下:「2017025」(不含引號)更多精彩文章請點擊微信公眾號底部菜單欄文章集錦:Pandaspython求職Top10城市,來看看是否有你所在的城市用Pandas獲取商品期貨價格並可視化Pandas日期數據處理:如何按日期篩選、顯示及統計數據UFO長啥樣?