不使用Matplotlib在Python中創(chuàng)建可視化的最簡單方法
Matplotlib 通常被認為是在 Python 中創(chuàng)建可視化的最簡單方法,它構(gòu)成了許多其他繪圖庫(如 Seaborn)的基礎(chǔ)。今天我們來講一下創(chuàng)建可視化的另一個方法,Pands。直接從Pandas繪制有許多優(yōu)點:
- 它的速度更快 — 代碼行更少,需要編寫的代碼更少,需要重新加載的庫更少。可視化對于數(shù)據(jù)分析至關(guān)重要,因此沒有理由拒絕嘗試加快生成良好可視化的過程。此外,Pandas在我們想要它繪制的圖中做很多推論,因此它可以在很多情況下可視化我們想要的,而無需顯式聲明它們。
- 直接整合許多涉及系列和數(shù)據(jù)幀的方便數(shù)據(jù)操作功能(如不同的分機和滾動方式)更容易。
- 實際上,直接從Pandas那里創(chuàng)建地塊更容易在條形圖、堆疊條形圖和水平條形圖之間轉(zhuǎn)換只是更改參數(shù)值的問題。創(chuàng)建子圖并操作子圖也只是幾個字符。Pandas在可視化方面承擔(dān)著許多艱苦的工作。
而對于技術(shù):Pandas的繪圖運行在matplotlib基礎(chǔ)設(shè)施,并加載其他matplotlib項目或參數(shù)在Pandas創(chuàng)建的圖形的頂部可以改善它。相反,Pandas只是提供了一個方便和更直接的界面,將數(shù)據(jù)連接到可視化。例如,以下數(shù)據(jù)幀隨機生成,包含四列和十行。


只需用data.plot.bar()來繪制每行每列的值,就可以用data來替換數(shù)據(jù)幀的名稱。請注意,在語句之后添加分號 () 會從輸出其他打印(例如 , )中刪除單元格。

或者,嘗試添加一個參數(shù)stacked=True,這是直接從數(shù)據(jù)源創(chuàng)建堆疊條形圖的非常簡單的方法。

或者,嘗試使用barhdata.plot.barh(stacked=True)繪制水平條,所有這些變體只需一行代碼就可以輕松創(chuàng)建,因為它們與數(shù)據(jù)建立了直接流。

可以通過在繪圖的代碼(sns.set_palette(‘magma’))之前添加來更改繪圖的常規(guī)調(diào)色板。或者,也可以將顏色貼圖參數(shù)傳遞到繪圖中。

顯示此類數(shù)據(jù)的另一種方法是使用data.plot.area()的區(qū)域圖。

代碼中的參數(shù)可以像通常使用 matplotlib 或海生模型那樣進行調(diào)整。在data.plot.area(stacked=False)的情況下,參數(shù)(透明度)默認設(shè)置為 0.5,但可以手動調(diào)整。

直接使用Pandas的主要好處之一是,許多Pandas的有用數(shù)據(jù)幀操作可以直接使用。例如,data.diff()的結(jié)果,它只需將一行與它之前的行之間的差值(因此,第一行中存在 NaN)。這在許多時間序列應(yīng)用中都很有幫助。

例如,以下代碼,該代碼繪制出差異的數(shù)據(jù),并演示各種參數(shù)在Pandas繪圖中的用法,本例中為顏色:


Pandas數(shù)據(jù)處理功能的另一個應(yīng)用是,它采用平均滾動均值,這是一種常見的統(tǒng)計方法,用于減少數(shù)據(jù)平均移動窗口的數(shù)據(jù)的不可信度。


可直接從數(shù)據(jù)創(chuàng)建各種其他類型的繪圖:
- kde或用于密度圖density;
- scatter用于散點圖;
- hexbin對于六邊形箱圖;


注:盡管在默認情況下 ,如果.plot.scatter()figsize=(x,y)的顏色是灰度,但可以在顏色映射參數(shù)中傳遞。所有繪圖都有一個參數(shù),以便控制輸出圖形的大小。在每個繪圖線之后輸入分號 (), 允許在 Jupyter 筆記本中具有多個輸出。
Pandas在為你繪圖時做重擔(dān)的一個例子是子圖。通過啟用 ,Pandas根據(jù)列自動創(chuàng)建子圖。例如,考慮以下生成的 DataFrame,它有兩列 (和) 以及五行


通常,你需要手動創(chuàng)建兩個子圖。特別是在想要生成多個子圖的情況下,可以想象直接使用Pandas繪圖方法會很有幫助。
餅圖的其他參數(shù)包括 ,它將自定義標簽添加到切片中;,指定每個切片的顏色;,確定十進制標簽的百分比和截斷程度;和 ,用于確定標簽的大小。作為直接Pandas繪圖中子圖的便利性的另一個示例,請考慮繪制行數(shù)據(jù)(使用 時為默認值):


在繪制可視化效果的代碼行中添加參數(shù)時(在 ): 后)中考慮結(jié)果,Pandas根據(jù)布局自動以格式格式化子圖。每個子圖的尺寸由參數(shù)確定,該參數(shù)指定包含所有子圖的"主圖"的大小。

鑒于 Pandas 在直接繪圖中提供的參數(shù)量非常多 — 從錯誤欄到提供表顯示,在可以創(chuàng)建的可視化效果方面幾乎沒有自由度損失。從提供簡單的繪圖變體到簡單的子圖管理,Pandas有太多提供繪圖。下次制作簡單的數(shù)據(jù)分析圖,試試Pandas!你可能會感到震驚的是,你能夠更高效地進行可視化。