Seaborn的小样中的水平图

时间:2019-03-12 05:15:37

标签: python seaborn

情况
我有以下熊猫数据集:

|user_id|total|is_fat|
|-------|-----|------|
|1      |100  |1     |
|2      |150  |0     |
|3      |400  |1     |
|4      |500  |1     |
|5      |10   |0     |

其中总数的元素是整数,而is_fat的元素是字符串。

我用df表示上述数据集。

然后运行

import seaborn as sos
sns.swarmplot(x = 'total', y ='is_fat', data = df)

现在我期望的图形就像 enter image description here

问题 但是,输出图如下:

enter image description here

为什么?

搜索
如果我将“ 1”转换为“ fat”,将“ 0”转换为“ not_fat”, 然后我得到了预期的图形。

2 个答案:

答案 0 :(得分:2)

我已经模拟了一些数据,并将is_fat更改为分类,如下所示:

import seaborn as sns
import pandas as pd
import numpy as np

df = pd.DataFrame({"total":abs(np.random.randn(100)), "is_fat": [1,0]*50})
df.is_fat = df.is_fat.astype("category")
sns.swarmplot(x = 'total', y ='is_fat', data = df)

这产生了下图: enter image description here

我希望这会有所帮助。

答案 1 :(得分:0)

对我来说,在我的orient="h"调用中添加swarmplot()作为参数解决了问题(see Seaborn docs for reference)。