📅  最后修改于: 2020-11-06 06:47:04             🧑  作者: Mango
探索中维数据的一种有用方法是在数据集的不同子集上绘制同一图的多个实例。
该技术通常称为“格子”或“网格”绘图,它与“小倍数”的概念有关。
要使用这些功能,您的数据必须位于Pandas DataFrame中。
在上一章中,我们看到了FacetGrid示例,其中FacetGrid类有助于使用多个面板可视化一个变量的分布以及数据集子集中的多个变量之间的关系。
FacetGrid最多可以绘制三个维度-row,col和hue。前两个与所得的轴阵列有明显的对应关系。可以将色相变量视为沿着深度轴的第三维,在该深度轴上用不同的颜色绘制不同的级别。
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()