Seaborn因子图的色调不允许有空“单元”

3 投票
1 回答
796 浏览
提问于 2025-04-18 17:11
import pandas as pd
import seaborn as sns
df = pd.DataFrame({'x1': ['a','a','a','b'],
                   'x2': ['c','d','c','d'],
                   'y': [3,8,15,25]})

我想在同一个图上看到x1、x2和y之间的关系。我很喜欢seaborn的factorplot,所以我在想:

sns.factorplot('x1','y',hue='x2',data=df,kind='point')

不过,似乎如果在pd.crosstab(df.x1,df.x2)中有空单元格,factorplot就会报错。具体来说,错误信息是:

ValueError: low >= high

我不太明白为什么factorplot会无法处理这个问题——难道x1和x2的空交集就不能不画出来吗?

目前我用row代替hue来处理x2,这样图就分成了几行。有没有什么办法可以让它表现得像hue一样?我是不是对这个错误发生的原因有什么重要的理解不到位?

1 个回答

1

这个问题应该在开发版本中修复了,也就是 0.4.dev 这个版本。你可以试着用 pip install git+git://github.com/mwaskom/seaborn.git#egg=seaborn 这个命令来安装它。

撰写回答