目錄
- 準備
- 設置難度和初始結果
- 編輯和自定義
- 附加功能
- 文檔和網(wǎng)站
- 總結
數(shù)據(jù)可視化是任何探索性數(shù)據(jù)分析或報告的關鍵步驟,它可以讓我們一眼就能洞察數(shù)據(jù)集。目前有許多非常好的商業(yè)智能工具,比如Tableau、googledatastudio和PowerBI,它們可以讓我們輕松地創(chuàng)建圖形。
然而,數(shù)據(jù)分析師或數(shù)據(jù)科學家還是習慣使用 Python 在 Jupyter notebook 上創(chuàng)建可視化效果。目前最流行的用于數(shù)據(jù)可視化的 Python 庫:Matplotlib、Seaborn、plotlyexpress和Altair。每個可視化庫都有自己的特點,沒有完美的可視化庫,我們應該知道每種數(shù)據(jù)可視化的優(yōu)缺點,找到適合自己的才是關鍵。
準備
首先,讓我們導入所有重要的庫。很可能你的計算機上已經(jīng)安裝了 Matplotlib 和 Seaborn 。但是,你可能沒有Plotly Express 和 Altair?,F(xiàn)在可以使用 pip install plotly==4.14.3和pip install altair 數(shù)據(jù)集輕松安裝它們。
import pandas as pd
import matplotlib.pyplot as plt
%matplotlib inline
import altair as alt
import plotly.express as px
現(xiàn)在我們將導入數(shù)據(jù)集。出于演示的目的,我們只創(chuàng)建一個數(shù)據(jù)框架,其中包含美國人口最多的15個城市。我還將修正城市名稱的大寫。當我們創(chuàng)建可視化效果時,它將促進編輯過程。
df = pd.read_csv('worldcitiespop.csv')
us = df[df['Country'] == 'us']
us['City'] = us['City'].str.title()
cities = us[['City', 'Population']].nlargest(15, ['Population'], keep='first')
現(xiàn)在我們應該準備好分析每個庫。你準備好了嗎?
設置難度和初始結果
獲勝者:Plotly Express
失敗者:Matplotlib、Altair和Seaborn
在這一類中,所有的庫都表現(xiàn)良好。它們都很容易設置,基本編輯的結果對大多數(shù)分析都足夠好,但我們需要有贏家和輸家,對嗎?
Matplotlib 很容易設置和記住代碼。然而,這個圖表看起來并不好。它可能會完成數(shù)據(jù)分析的工作,但在商務會議上的結果并不理想。
Seaborn 創(chuàng)造了一個更好的圖表。它會自動添加 x 軸和 y 軸標簽。x 記號看起來更好,但對于基本圖表來說,這比 Matplotlib 要好得多。
Plotly Expres,表現(xiàn)得非常出色??梢杂煤苌俚拇a創(chuàng)建一個好看的、專業(yè)的條形圖。不需要設置圖形或字體大小。它甚至可以旋轉 x 軸標簽。所有這些都只需要一行代碼。非常令人印象深刻!
Altair 圖表表現(xiàn)良好。它提供了一個好看的圖形,但它需要更多的代碼,它按字母順序,這并不可怕,而且在很多情況下都會有幫助,但我覺得這應該是用戶應該決定的。
編輯和自定義
優(yōu)勝者:Plotly Express、Seaborn、Matplotlib
失敗者:Altair
我相信這四個庫都有可能成為贏家。自定義圖表在每一個上的表現(xiàn)卻是不同的,但我認為,如果你學習足夠,你會學會如何創(chuàng)造美麗的可視化。然而,我正在考慮如何容易地編輯和自定義,把自己想象成一個新用戶。
Matplotlib 和 Seaborn 非常容易定制,而且它們的文檔非常棒。即使你沒有在他們的文檔中找到要查找的信息,你也很容易在 Stack Overflow 中找到它。他們還有合作的優(yōu)勢。Seaborn 基于 Matplotlib。因此,如果你知道如何編輯一個,你就會知道如何編輯另一個,這是非常方便的。如果你使用
sns.set_style('darkgrid')
設置 Seaborn 主題,它將影響 Matplotlib,這可能就是為什么 Matplotlib 和 Seaborn 是兩個更流行的數(shù)據(jù)可視化庫。
plotly express 從一開始就提供了漂亮的圖表,例如,與Matplotlib相比,只需要較少的編輯就可以獲得非常不錯的可視化效果。它的文檔很容易理解,他們通過Shift+Tab提供文檔,這非常方便。在我嘗試的所有庫中,它還提供了最多的定制選項。你可以編輯任何東西,包括字體,標簽顏色等,最好的部分是它的毫不費力。它的文檔中充滿了例子。
我發(fā)現(xiàn) Altair 的文件非常混亂。與其他庫不同,Altair沒有Shift+Tab快捷鍵。對于初學者來說,這是非常有問題和困惑的。我能夠做一些編輯,但找到有關它的信息是有壓力的。在編輯方面與我花在 Matplotlib 和 plotly express 上的時間相比,對于初學者來說,Altair 并不是一個很好的選擇。
附加功能
獲獎者:Plotly Express 和 Altair
失敗者:Matplolib 和 Seaborn
對于這一類,我將考慮除了那些我們可以通過代碼實現(xiàn)的功能之外的其他功能。Matplotlib 和 Seaborn 在這一類中是非常基本的。除了代碼之外,它們不提供任何額外的編輯或交互選項。然而,Plotly Express 在這一類中大放異彩。首先,圖表是互動的。您只需將鼠標懸停在圖形上,就可以看到有關它的信息。
Altair 提供了一些選項來保存文件或通過Vega編輯器打開JSON文件。
文檔和網(wǎng)站
獲獎者:Plotly Express、Altair、Seaborn、Matplotlib
所有這些庫的文檔都很好。Plotly Express 有一個漂亮的網(wǎng)站,帶有代碼和可視化演示。很容易閱讀和找到有關它的信息。我喜歡他們的網(wǎng)站是多么的精致和精心設計,你甚至可以與圖表互動。
Altair 的網(wǎng)站上做得很好。他們的定制文檔不是最好的,但是網(wǎng)站看起來不錯,很容易找到代碼示例。我不會說這是驚人的,但它確實起到了作用。
Seaborn 的網(wǎng)站還可以。有人說他們有最好的文件,包含代碼示例。如果你正在尋找定制選項,它可能會變得很棘手,但除此之外,它是一個干凈的網(wǎng)站,其文檔也相當完整。
Matplotlib有一個完整的網(wǎng)站。在我看來,它有太多的文字,找到一些信息可能有點棘手。然而,信息就在那里。他們還提供PDF格式的文檔。
總結
我在本文中分析的四個目前都非常棒的庫。所有的可視化庫都有優(yōu)缺點,找好合適自己的才是關鍵。我最喜歡的是 Plotly Express ,因為它在所有類別中都表現(xiàn)出色。不過,Matplotlib 和 Seaborn 更受歡迎,大多數(shù)人都會在電腦上安裝它們。Altair 是我最不喜歡之間。你最喜歡的數(shù)據(jù)可視化庫是什么呢?
到此這篇關于淺談哪個Python庫才最適合做數(shù)據(jù)可視化的文章就介紹到這了,更多相關Python 數(shù)據(jù)可視化內(nèi)容請搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關文章希望大家以后多多支持腳本之家!
您可能感興趣的文章:- 利用Python進行數(shù)據(jù)可視化的實例代碼
- python數(shù)據(jù)可視化之matplotlib.pyplot基礎以及折線圖
- python數(shù)據(jù)可視化plt庫實例詳解
- 學會Python數(shù)據(jù)可視化必須嘗試這7個庫
- Python中seaborn庫之countplot的數(shù)據(jù)可視化使用
- python實現(xiàn)股票歷史數(shù)據(jù)可視化分析案例
- Python數(shù)據(jù)可視化之基于pyecharts實現(xiàn)的地理圖表的繪制
- Python爬蟲實戰(zhàn)之爬取京東商品數(shù)據(jù)并實實現(xiàn)數(shù)據(jù)可視化
- Python數(shù)據(jù)可視化之用Matplotlib繪制常用圖形
- Python數(shù)據(jù)可視化之繪制柱狀圖和條形圖
- python用pyecharts實現(xiàn)地圖數(shù)據(jù)可視化
- python數(shù)據(jù)可視化 – 利用Bokeh和Bottle.py在網(wǎng)頁上展示你的數(shù)據(jù)