pandas 在两个类别图中设置相同的类别颜色

nfs0ujit  于 2022-11-20  发布在  其他
关注(0)|答案(1)|浏览(118)

我正在使用Seborn创建两个类别图。一个类别图有6个类别,而第二个类别图有5个类别要绘制。两个类别图中有3个相同的类别。我想为两个类别图中的每个共同类别设置相同的颜色。我正在使用sns.set_palette('coolwarm')设置两个类别图的颜色,但两个类别图中相同的类别具有不同的颜色。是否有办法将出现在两个图中的类别设置为相同的颜色?

rsl1atfo

rsl1atfo1#

如果您将它们放在一个 Dataframe 中,并使用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')

相关问题