Seaborn pairplot色调参数未按预期工作

时间:2018-08-30 18:37:00

标签: python plot seaborn

如果将“ C”指定为“色相”参数的值,则预期Seaborn不会显示“ C”列。我错了吗?

sns.pairplot(df, hue='C')

enter image description here

DataFrame:

enter image description here

1 个答案:

答案 0 :(得分:5)

默认情况下,seaborn将显示所有数字列!

因此,如果您的“色相”列(在您的情况下为“ C”列)为字符串(对象)类型,则它将在图形上不可见

例如:

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

data = {
    'A': [*np.random.random(5)],
    'B': [*np.random.random(5)],
    'C': ['X', 'Y', 'X', 'X', 'Y']
}

df = pd.DataFrame(data)

enter image description here

sns.set(style="ticks", color_codes=True)
sns.pairplot(df, hue='C')

enter image description here

但是,如果将“ C”列作为数值,则必须使用“ vars”来指定要使用的列:

  

vars:变量名称列表,可选

     

要在数据中使用的变量,否则将每列与   数字数据类型。

data = {
    'A': [*np.random.random(5)],
    'B': [*np.random.random(5)],
    'C': [*np.random.randint(1, 3, 5)]
}

df = pd.DataFrame(data)

enter image description here

sns.set(style="ticks", color_codes=True)
sns.pairplot(df, hue='C', vars=['A', 'B'])

enter image description here