Seaborn - 分面網格



探索中等維度資料的一種有效方法是,在資料集的不同子集上繪製多個相同圖表的例項。

這種技術通常被稱為“格子”或“網格”繪圖,它與“小型多圖”的概念有關。

要使用這些功能,您的資料必須位於 Pandas DataFrame 中。

繪製資料子集的小型多圖

在上一章中,我們看到了 FacetGrid 示例,其中 FacetGrid 類有助於使用多個面板分別視覺化一個變數的分佈以及資料集子集內多個變數之間的關係。

FacetGrid 可以繪製最多三個維度 - 行、列和色調。前兩個與生成的軸陣列有明顯的對應關係;將色調變數視為沿深度軸的第三個維度,其中不同級別以不同的顏色繪製。

FacetGrid 物件以資料框作為輸入,以及將構成網格行、列或色調維度的變數名稱。

變數應該是分類變數,並且變數每個級別的每個資料都將用於該軸上的一個分面。

示例

import pandas as pd
import seaborn as sb
from matplotlib import pyplot as plt
df = sb.load_dataset('tips')
g = sb.FacetGrid(df, col = "time")
plt.show()

輸出

Graphs

在上面的示例中,我們只是初始化了facetgrid 物件,它不會在上面繪製任何內容。

在此網格上視覺化資料的主要方法是使用FacetGrid.map() 方法。讓我們使用直方圖檢視這些子集中的小費分佈。

示例

import pandas as pd
import seaborn as sb
from matplotlib import pyplot as plt
df = sb.load_dataset('tips')
g = sb.FacetGrid(df, col = "time")
g.map(plt.hist, "tip")
plt.show()

輸出

differentiation

由於 col 引數,圖表的數量超過一個。我們在之前的章節中討論了 col 引數。

要製作關係圖,請傳遞多個變數名稱。

示例

import pandas as pd
import seaborn as sb
from matplotlib import pyplot as plt
df = sb.load_dataset('tips')
g = sb.FacetGrid(df, col = "sex", hue = "smoker")
g.map(plt.scatter, "total_bill", "tip")
plt.show()

輸出

Ratio
廣告
© . All rights reserved.