Seaborn - 多面板分类图


我们可以使用两个图来可视化分类数据,您可以使用函数pointplot()或更高级别的函数Factorplot()

因子图

Factorplot 在 FacetGrid 上绘制分类图。使用“kind”参数,我们可以选择箱线图、小提琴图、条形图和条形图等绘图。FacetGrid 默认使用点图。

例子

import pandas as pd
import seaborn as sb
from matplotlib import pyplot as plt
df = sb.load_dataset('exercise')
sb.factorplot(x = "time", y = pulse", hue = "kind",data = df);
plt.show()

输出

L形

我们可以使用kind参数使用不同的图来可视化相同的数据。

例子

import pandas as pd
import seaborn as sb
from matplotlib import pyplot as plt
df = sb.load_dataset('exercise')
sb.factorplot(x = "time", y = "pulse", hue = "kind", kind = 'violin',data = df);
plt.show()

输出

锋利的

在因子图中,数据绘制在面网格上。

什么是面网格?

分面网格通过划分变量形成由行和列定义的面板矩阵。由于面板的原因,单个图看起来像多个图。分析两个离散变量的所有组合非常有帮助。

让我们用一个例子来形象化上面的定义

例子

import pandas as pd
import seaborn as sb
from matplotlib import pyplot as plt
df = sb.load_dataset('exercise')
sb.factorplot(x = "time", y = "pulse", hue = "kind", kind = 'violin', col = "diet", data = df);
plt.show()

输出

两种类型

使用 Facet 的优点是,我们可以在图中输入另一个变量。上图根据第三个变量(称为“饮食”)使用“col”参数分为两个图。

我们可以制作许多列面并将它们与网格的行对齐 -

例子

import pandas as pd
import seaborn as sb
from matplotlib import pyplot as plt
df = sb.load_dataset('titanic')
sb.factorplot("alive", col = "deck", col_wrap = 3,data = df[df.deck.notnull()],kind = "count")
plt.show()

输出

各种类型