2016-03-28 15 views
6

मैं वाई-अक्ष में मानों के अनुसार रंग के पैमाने के साथ अपने डेटा के लिए समुद्री डाकू साजिश का उपयोग करना चाहता हूं। उदाहरण के लिए, इस छवि से, से रंग बदल जाता है सही करने के लिए एक रंग पैलेट के अनुसार छोड़ दिया:सीबर्न बार प्लॉट में रंग स्केल बदलना

enter image description here

लेकिन क्या मैं वास्तव में चाहता था "क्षैतिज" के बजाय यह एक ही रंग योजना है, लेकिन "ऊर्ध्वाधर" में। क्या यह संभव है? मैंने खोज की है और वाई-अक्ष पर hue पैरामीटर सेट करने का प्रयास किया है लेकिन यह काम नहीं कर रहा है, मैं इसे कैसे कर सकता हूं?

अग्रिम धन्यवाद।

+0

तो ... आप चाहते हैं कि सभी सलाखों में नीली लाल रंग का स्केल हो, लेकिन उनके साथ शीर्ष पर रंगीन नीला रंग और धीरे-धीरे नीचे लाल रंग में रंग बदल रहा है? –

+1

मैंने सवाल संपादित किया है, यह रंगीन योजना नीली लाल नहीं है, लेकिन मैंने संपादित छवि में गहरे हरे रंग की हरे रंग की हरे रंग की है। उदाहरण के लिए, बार सी में सबसे गहरा रंग होगा, और निचले मान वाले सलाखों में हल्का रंग होगा – MrPedru22

उत्तर

6

यहाँ एक समाधान:

import numpy as np, matplotlib.pyplot as plt, seaborn as sns 
sns.set(style="whitegrid", color_codes=True) 

titanic = sns.load_dataset("titanic") 
data = titanic.groupby("deck").size() # data underlying bar plot in question 

pal = sns.color_palette("Greens_d", len(data)) 
rank = data.argsort().argsort() # http://stackoverflow.com/a/6266510/1628638 
sns.barplot(x=data.index, y=data, palette=np.array(pal[::-1])[rank]) 

plt.show() 

यहाँ उत्पादन: bar plot

नोट: कोड वर्तमान में साथ समान ऊंचाई प्रदान करती है अलग (समीप) सलाखों के रंग। (नमूना साजिश में कोई समस्या नहीं है।) हालांकि समान ऊंचाई वाले सलाखों के लिए एक ही रंग का उपयोग करना अच्छा होगा, परिणामी कोड मूलभूत विचार को कम स्पष्ट कर देगा।

संबंधित मुद्दे