मैं सीबॉर्न का उपयोग करके दो श्रेणी के भूखंड बना रहा हूं। एक श्रेणी के प्लॉट में 6 श्रेणियां हैं जबकि दूसरी श्रेणी के प्लॉट में प्लॉट के लिए 5 श्रेणियां हैं। दोनों भूखंडों में 3 श्रेणियां हैं जो समान हैं। मैं प्रत्येक श्रेणी के लिए एक ही रंग स्थापित करना चाहता हूं जो दोनों भूखंडों में आम हैं। मैं दोनों भूखंडों का रंग निर्धारित करने के लिए sns.set_palette('coolwarm') का उपयोग कर रहा हूं लेकिन दोनों भूखंडों में समान श्रेणियों के अलग-अलग रंग हैं। क्या दोनों भूखंडों में दिखाई देने वाली श्रेणी के समान रंग को सेट करने का कोई तरीका है?

0
user2293224 29 अक्टूबर 2020, 05:51

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')

enter image description here

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

enter image description here

1
StupidWolf 29 अक्टूबर 2020, 13:44