मैं स्कोर (score
), कुछ श्रेणियों (centrality
) के आधार पर वर्गीकृत और कुछ अन्य (model
) द्वारा रंग के वितरण का एक सेट की तुलना करना चाहते हैं। मैं Seaborn साथ निम्नलिखित की कोशिश की है:Tweaking seaborn.boxplot
plt.figure(figsize=(14,6))
seaborn.boxplot(x="centrality", y="score", hue="model", data=data, palette=seaborn.color_palette("husl", len(models) +1))
seaborn.despine(offset=10, trim=True)
plt.savefig("/home/i11/staudt/Eval/properties-replication-test.pdf", bbox_inches="tight")
वहाँ मैं इस साजिश के साथ कुछ समस्याएं हैं:
- वहाँ बाहरी कारकों के कारण की एक बड़ी राशि है और मुझे पसंद नहीं है कि वे किस तरह यहां तैयार कर रहे हैं । क्या मैं उन्हें हटा सकता हूँ? क्या मैं कम अव्यवस्था दिखाने के लिए उपस्थिति बदल सकता हूं? क्या मैं उन्हें कम से कम रंग सकता हूं ताकि उनका रंग बॉक्स रंग से मेल खा सके?
model
मूल्यoriginal
विशेष है क्योंकि अन्य सभी वितरणों की तुलनाoriginal
के वितरण से की जानी चाहिए। यह साजिश में दृष्टि से परिलक्षित होना चाहिए। क्या मैंoriginal
प्रत्येक समूह का पहला बॉक्स बना सकता हूं? क्या मैं इसे किसी भी तरह ऑफसेट या मार्क कर सकता हूं? क्या प्रत्येकoriginal
वितरण और बक्से के समूह के माध्यम से एक क्षैतिज रेखा खींचना संभव होगा?score
के मूल्यों के कुछ बहुत छोटे होते हैं, कैसे उन्हें दिखाने के लिए y- अक्ष के समुचित स्केलिंग करना है?
संपादित करें:
यहाँ एक लॉग बढ़ाया y- अक्ष के साथ एक उदाहरण है - यह भी अभी तक आदर्श नहीं। कुछ बक्से कम अंत में कट क्यों लगते हैं?
ब्लू आउटलाइजर्स एक matplotlib बग हैं, और उन्हें आपके समुद्री तट को अद्यतन करके टाला जा सकता है। लेकिन मैं निश्चित रूप से outliers को हटा नहीं होगा! – mwaskom
क्या आपने [लॉग-स्केलिंग] (http://stanford.edu/~mwaskom/software/seaborn/examples/horizontal_boxplot.html) वाई वैरिएबल की कोशिश की है? – mwaskom
@mwaskom हां, लेकिन वह साजिश के शीर्ष पर बहुत अधिक मूल्यों के बार "संपीड़ित" करता है। क्या कोई समझौता है, यानी धुरी के केवल एक हिस्से के लिए लॉग-स्केलिंग है? – clstaudt