Seaborn का उपयोग करके, मैं एक ही आंकड़े पर pandas DataFrame
के एकाधिक कॉलम के बॉक्सप्लॉट बना सकता हूं। मैं फ्लायर (आउटलायर) के लिए एक कस्टम शैली लागू करना चाहता हूं, उदा। मार्कर प्रतीक, रंग और मार्कर आकार सेट करना।Seaborn boxplot में फ़्लियर (बाहरी) शैली को सेट करना
The API documentation on seaborn.boxplot, हालांकि, केवल fliersize
पर एक तर्क प्रदान करता है जो मुझे फ्लायर के आकार को नियंत्रित करने देता है लेकिन रंग और प्रतीक नहीं।
के बाद से Seaborn की साजिश रचने के लिए matplotlib का उपयोग करता है, मैंने सोचा कि मैं तो जैसे boxplot
कार्य करने के लिए एक matplotlib स्टाइल शब्दकोश प्रदान कर सकता है:
import pandas as pd
import seaborn as sns
import matplotlib.pyplot as plt
# create a dataframe
df = pd.DataFrame({'column_a': [3, 6, 200, 100, 7], 'column_b': [1, 8, 4, 150, 290], 'column_c': [6, 7, 20, 80, 275]})
# set figure size
sns.set(rc={"figure.figsize": (14, 6)})
# define outlier properties
flierprops = dict(marker='o', markersize=5)
# create boxplot
ax = sns.boxplot(df, vert=False, showmeans=True, flierprops=flierprops)
plt.show()
परिणाम: प्रदान की डिक्शनरी के अनुसार
, मैं करूंगा column_c
के फ्लायर का प्रतिनिधित्व करने वाले बड़े लाल सर्कल की अपेक्षा करें, लेकिन इसके बजाय, मानक सेटिंग्स अभी भी उपयोग की जा रही हैं।
This thread describes a similar problem जब matplotlib सीधे उपयोग किया जाता है - हालांकि, चर्चा से मैंने अनुमान लगाया कि यह matplotlib के हाल के संस्करणों का उपयोग करते समय तय किया जाना चाहिए।
मैंने इसे iPython नोटबुक (iPython 3.10), matplotlib 1.4.3 और seaborn 0.5.1 के साथ करने की कोशिश की।
बस चाहता हूँ ध्यान दें कि जबकि 'sns.boxplot' अभी भी' sym' पैरामीटर पर ध्यान नहीं देगा, आपके प्रश्न में कोड अब पूरी तरह से काम करना चाहिए जिसमें फ्लायर के लिए सही मार्कर सेट करना शामिल है। – mwaskom
हाँ, नवीनतम पीब इंस्टॉल गिट + गिट के साथ नवीनतम सेबर्न मास्टर में अपग्रेड करने के बाद: // github.com/mwaskom/seaborn.git # egg = seaborn', यह उपरोक्त मेरे प्रश्न में दिए अनुसार काम करता है। बहुत बहुत धन्यवाद लड़कों! – Dirk