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