【问题标题】:Python Seaborn: setting same color of a category in both category plotsPython Seaborn:在两个类别图中设置相同的类别颜色
【发布时间】:2020-10-29 02:51:43
【问题描述】:

我正在使用 Seaborn 创建两个类别图。一个类别图有 6 个类别,而第二个类别图有 5 个类别要绘制。两个图中有 3 个类别相同。我想为两个图中常见的每个类别设置相同的颜色。我正在使用sns.set_palette('coolwarm') 设置两个图的颜色,但是两个图中的相同类别具有不同的颜色。有什么方法可以设置两个图中出现的类别的相同颜色?

【问题讨论】:

  • 你能添加一些示例代码和玩具数据来展示你在做什么吗?你试过hue_order=参数吗?

标签: python python-3.x seaborn


【解决方案1】:

如果您将它们放在一个数据框中并使用 sns.catplot() 并使用 col= 参数分隔您的图,它应该可以工作:

np.random.seed(111)

d1 = pd.DataFrame({'x':np.random.randint(1,4,50),
                   'y':np.random.randn(50),
                   'z':np.random.choice(['a','b','c','d','e','f'],50),
                   'data':'d1'
                  })

d2 = pd.DataFrame({'x':np.random.randint(1,4,50),
                   'y':np.random.randn(50),
                   'z':np.random.choice(['d','e','f','g','h'],50),
                   'data':'d2'
                  })

df = pd.concat([d1,d2])
df['z'] = pd.Categorical(df['z'],ordered=True)

sns.catplot(data=df,x='x',y='y',hue='z',col='data',palette='coolwarm')

sns.catplot(data=df,x='x',hue='z',col='data',kind='count',palette='coolwarm')

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2021-02-09
    • 1970-01-01
    • 1970-01-01
    • 2020-12-07
    • 2021-09-13
    • 2022-01-11
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多