Seaborn多面板分类图


我们可以使用两个图来显示分类数据,您可以使用函数 pointplot() 或更高级函数 factorplot()

Factorplot

Factorplot在FacetGrid上绘制了一个分类图。使用'kind'参数,我们可以选择像boxplot,violinplot,barplot和stripplot这样的情节。FacetGrid默认使用pointplot。

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

输出

Lshape

我们可以使用不同的图来使用 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()

输出

尖锐

实际上,数据被绘制在小平面网格上。

什么是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的优点是,我们可以在绘图中输入另一个变量。上面的图分为两个图,基于第三个变量,称为'diet',使用'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()

输出

各种类型