我有一个数据框,并有一个名为“ my_row”的列。它具有许多价值。我只想查看FacetGrid上属于该行“ my_row”特定值的某些数据。我尝试制作数据框的一个子集并将其可视化,但还是以某种方式让seaborn“知道”我的原始数据框在“ my_row”列中具有更多值,并显示了不需要的行的空图。因此,使用下面的代码仍然可以得到一个包含两行数据的图形,此后还有许多空图。X = df[(df['my_row']=='1') | (df['my_row']=='2')].copy()
g = sns.FacetGrid(X, row='my_row', col='column')我怎样才能告诉python只绘制那2行?
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),就不会再有问题了。应该有一种方法可以做到这一点。
添加回答
举报
0/150
提交
取消