淺談哪個Python庫才最適合做數據可視化

數據可視化是任何探索性數據分析或報告的關鍵步驟,它可以讓我們一眼就能洞察數據集。目前有許多非常好的商業智能工具,比如Tableau、googledatastudio和PowerBI,它們可以讓我們輕松地創建圖形。

然而,數據分析師或數據科學傢還是習慣使用 Python 在 Jupyter notebook 上創建可視化效果。目前最流行的用於數據可視化的 Python 庫:Matplotlib、Seaborn、plotlyexpress和Altair。每個可視化庫都有自己的特點,沒有完美的可視化庫,我們應該知道每種數據可視化的優缺點,找到適合自己的才是關鍵。

準備

首先,讓我們導入所有重要的庫。很可能你的計算機上已經安裝瞭 Matplotlib 和 Seaborn 。但是,你可能沒有Plotly Express 和 Altair。現在可以使用 pip install plotly==4.14.3和pip install altair 數據集輕松安裝它們。

import pandas as pd
import matplotlib.pyplot as plt
%matplotlib inline
import altair as alt
import plotly.express as px

現在我們將導入數據集。出於演示的目的,我們隻創建一個數據框架,其中包含美國人口最多的15個城市。我還將修正城市名稱的大寫。當我們創建可視化效果時,它將促進編輯過程。

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')

現在我們應該準備好分析每個庫。你準備好瞭嗎?

設置難度和初始結果

獲勝者:Plotly Express
失敗者:Matplotlib、Altair和Seaborn

在這一類中,所有的庫都表現良好。它們都很容易設置,基本編輯的結果對大多數分析都足夠好,但我們需要有贏傢和輸傢,對嗎?

Matplotlib 很容易設置和記住代碼。然而,這個圖表看起來並不好。它可能會完成數據分析的工作,但在商務會議上的結果並不理想。

Seaborn 創造瞭一個更好的圖表。它會自動添加 x 軸和 y 軸標簽。x 記號看起來更好,但對於基本圖表來說,這比 Matplotlib 要好得多。

Plotly Expres,表現得非常出色。可以用很少的代碼創建一個好看的、專業的條形圖。不需要設置圖形或字體大小。它甚至可以旋轉 x 軸標簽。所有這些都隻需要一行代碼。非常令人印象深刻!

Altair 圖表表現良好。它提供瞭一個好看的圖形,但它需要更多的代碼,它按字母順序,這並不可怕,而且在很多情況下都會有幫助,但我覺得這應該是用戶應該決定的。

編輯和自定義

優勝者:Plotly Express、Seaborn、Matplotlib
失敗者:Altair

我相信這四個庫都有可能成為贏傢。自定義圖表在每一個上的表現卻是不同的,但我認為,如果你學習足夠,你會學會如何創造美麗的可視化。然而,我正在考慮如何容易地編輯和自定義,把自己想象成一個新用戶。

Matplotlib 和 Seaborn 非常容易定制,而且它們的文檔非常棒。即使你沒有在他們的文檔中找到要查找的信息,你也很容易在 Stack Overflow 中找到它。他們還有合作的優勢。Seaborn 基於 Matplotlib。因此,如果你知道如何編輯一個,你就會知道如何編輯另一個,這是非常方便的。如果你使用

sns.set_style('darkgrid')

設置 Seaborn 主題,它將影響 Matplotlib,這可能就是為什麼 Matplotlib 和 Seaborn 是兩個更流行的數據可視化庫。

plotly express 從一開始就提供瞭漂亮的圖表,例如,與Matplotlib相比,隻需要較少的編輯就可以獲得非常不錯的可視化效果。它的文檔很容易理解,他們通過Shift+Tab提供文檔,這非常方便。在我嘗試的所有庫中,它還提供瞭最多的定制選項。你可以編輯任何東西,包括字體,標簽顏色等,最好的部分是它的毫不費力。它的文檔中充滿瞭例子。

我發現 Altair 的文件非常混亂。與其他庫不同,Altair沒有Shift+Tab快捷鍵。對於初學者來說,這是非常有問題和困惑的。我能夠做一些編輯,但找到有關它的信息是有壓力的。在編輯方面與我花在 Matplotlib 和 plotly express 上的時間相比,對於初學者來說,Altair 並不是一個很好的選擇。

附加功能

獲獎者:Plotly Express 和 Altair
失敗者:Matplolib 和 Seaborn

對於這一類,我將考慮除瞭那些我們可以通過代碼實現的功能之外的其他功能。Matplotlib 和 Seaborn 在這一類中是非常基本的。除瞭代碼之外,它們不提供任何額外的編輯或交互選項。然而,Plotly Express 在這一類中大放異彩。首先,圖表是互動的。您隻需將鼠標懸停在圖形上,就可以看到有關它的信息。

在這裡插入圖片描述

Altair 提供瞭一些選項來保存文件或通過Vega編輯器打開JSON文件。

文檔和網站

獲獎者:Plotly Express、Altair、Seaborn、Matplotlib

所有這些庫的文檔都很好。Plotly Express 有一個漂亮的網站,帶有代碼和可視化演示。很容易閱讀和找到有關它的信息。我喜歡他們的網站是多麼的精致和精心設計,你甚至可以與圖表互動。

在這裡插入圖片描述

Altair 的網站上做得很好。他們的定制文檔不是最好的,但是網站看起來不錯,很容易找到代碼示例。我不會說這是驚人的,但它確實起到瞭作用。

在這裡插入圖片描述

Seaborn 的網站還可以。有人說他們有最好的文件,包含代碼示例。如果你正在尋找定制選項,它可能會變得很棘手,但除此之外,它是一個幹凈的網站,其文檔也相當完整。

Matplotlib有一個完整的網站。在我看來,它有太多的文字,找到一些信息可能有點棘手。然而,信息就在那裡。他們還提供PDF格式的文檔。

總結

我在本文中分析的四個目前都非常棒的庫。所有的可視化庫都有優缺點,找好合適自己的才是關鍵。我最喜歡的是 Plotly Express ,因為它在所有類別中都表現出色。不過,Matplotlib 和 Seaborn 更受歡迎,大多數人都會在電腦上安裝它們。Altair 是我最不喜歡之間。你最喜歡的數據可視化庫是什麼呢?

到此這篇關於淺談哪個Python庫才最適合做數據可視化的文章就介紹到這瞭,更多相關Python 數據可視化內容請搜索WalkonNet以前的文章或繼續瀏覽下面的相關文章希望大傢以後多多支持WalkonNet!

推薦閱讀: