3 回答

TA贡献1757条经验 获得超7个赞
对于任何遇到此问题的人,问题在于那my_row是绝对类型。要解决,请将其更改为str。
IE
X = df[(df['my_row']=='1') | (df['my_row']=='2')].copy()
X['my_row']=X['my_row'].astype(str)
g = sns.FacetGrid(X, row='my_row', col='column')
现在应该可以了!:)

TA贡献1830条经验 获得超3个赞
并将我的代码更改为此:
g = sns.FacetGrid(df, row='my_row', col='column')
for i in list(range(2,48)):
for j in list(range(0,12)):
g.axes[i,j].set_visible(False)
因此,我不得不逐个遍历每个图,以使其不可见。但是我认为应该有一种更简单的方法来做到这一点。最后,我仍然不了解FacetGriddf在使用X和输入时如何知道原始数据帧的大小。
这是一个有效的答案,但我认为必须有更好的解决方案。我的答案的一个问题是,当我保存图形时,在保存的图形中有一个大的空白空间(对应于将其可见性设置为False的轴),在运行代码时在jupyter笔记本中看不到。如果FacetGrid只是绘制我提供的数据框作为输入(在本例中为X),就不会再有问题了。应该有一种方法可以做到这一点。
添加回答
举报