Seaborn 为不存在的数据创建空轴占位符

Seaborn Creating Empty Axes Placeholder for Non-Existent Data

我想了解为什么我得到的是不在索引数据框中的数据的空轴。我正在加载一个数据框,然后索引以仅包含 'day' 列为 'Thur' 或 'Fri' 的数据,但由于某种原因,在使用该索引数据框时,我仍然会得到空轴 'Sat' 和 'Sun'。当我认为我传递给 relplot 的数据框中不存在这些值时,seaborn/relplot 怎么知道这些值?

执行下面的代码

import seaborn as sns
tips = sns.load_dataset('tips')
dataSubset=tips[tips['day'].isin(['Thur', 'Fri'])]
g = sns.relplot(x="total_bill", y="tip", row='day', data=dataSubset, facet_kws={'margin_titles': True}, height=2, aspect=1.5)

生产

我不明白为什么 'Sat' 和 'Sun' 的轴是空的,或者这些条目在数据框中的哪个位置仍然被注册。任何见解将不胜感激。

版本

正如用户 BigBen 在评论中暗示的那样,day 列是 category dtype,子集化不会删除未使用的类别。以下添加将修复:

dataSubset['day'] = dataSubset.day.cat.remove_unused_categories()