Seaborn 多面板分类图
可以使用两个图形来可视化分类数据,您可以使用函数 pointplot() 或更高级的函数 factorplot() 。
Factorplot
Factorplot 在 FacetGrid 上绘制分类图。使用 ‘kind’ 参数可以选择箱线图、小提琴图、条形图和散点图等图形。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()
输出
我们可以使用不同的图表来可视化相同的数据,使用 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 grid上被绘制。
什么是Facet Grid
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”参数分成两个子图。
我们可以创建多个列分面,并将它们与网格的行对齐 –
示例
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()