Seaborn - 多面板分类图
-
简述
我们可以使用两个图来可视化分类数据,您可以使用函数pointplot(),或更高级别的函数factorplot(). -
因子图
Factorplot 在 FacetGrid 上绘制分类图。使用“种类”参数,我们可以选择箱线图、小提琴图、条形图和条形图等绘图。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()
输出
我们可以使用不同的图来可视化相同的数据,使用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()
输出
在 factorplot 中,数据绘制在 facet 网格上。 -
什么是分面网格?
Facet grid 通过划分变量形成由行和列定义的面板矩阵。由于面板,单个图看起来像多个图。分析两个离散变量中的所有组合非常有帮助。让我们用一个例子来可视化上面的定义例子
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”参数的第三个变量“diet”分为两个图。我们可以制作许多列面并将它们与网格的行对齐 -例子
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()
输出