绘制小倍数的数据子集
在上一章中,我们已经看到了 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()
输出
在上面的例子中,我们刚刚初始化了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()
输出
由于参数 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()
输出