Seaborn में violinplot() के hue पैरामीटर का उपयोग करके दो समूहों (श्रृंखलाओं) के वायलिन प्लॉट एक ही ग्राफ पर साथ-साथ प्लॉट करें।
चरण
- फिगर आकार सेट करें और पैडिंग समायोजित करें
- ऑनलाइन रिपॉजिटरी से उदाहरण डेटासेट लोड करें (इंटरनेट आवश्यक)
violinplot()मेथड से वायलिन प्लॉट बनाएंplt.show()से प्रदर्शित करें
उदाहरण
import seaborn as sns
from matplotlib import pyplot as plt
plt.rcParams["figure.figsize"] = [7.00, 3.50]
plt.rcParams["figure.autolayout"] = True
# टिप्स डेटासेट लोड करें
tips = sns.load_dataset("tips")
# वायलिन प्लॉट: दिन अनुसार कुल बिल, समय (लंच/डिनर) द्वारा समूहित
sns.violinplot(x="day", y="total_bill", hue="time", data=tips)
plt.title('दिन और समय के अनुसार कुल बिल वितरण')
plt.show()
आउटपुट
चार दिनों (Thu, Fri, Sat, Sun) के लिए वायलिन प्लॉट, प्रत्येक दिन के लिए दो वायलिन (लंच - नीला, डिनर - नारंगी) साथ-साथ। वायलिन की चौड़ाई घनत्व दर्शाती है।
वायलिन प्लॉट क्या दर्शाता है?
- चौड़ाई: उस मान पर डेटा घनत्व (KDE - कर्नेल डेंसिटी एस्टीमेशन)
- केंद्रीय रेखा: माध्यिका
- बॉक्स: चतुर्थक (Q1, Q3)
- व्हिस्कर्स: 1.5 IQR रेंज
अनुकूलन विकल्प
# स्प्लिट वायलिन (प्रत्येक वायलिन को दो हिस्सों में बांटें)
sns.violinplot(x="day", y="total_bill", hue="time", data=tips, split=True)
# आंतरिक मार्कर: पॉइंट, स्टिक, क्वार्टाइल, बॉक्स
sns.violinplot(x="day", y="total_bill", hue="time", data=tips, inner="quartile")
# स्केल: area (डिफ़ॉल्ट), count, width
sns.violinplot(x="day", y="total_bill", hue="time", data=tips, scale="count")
# पैलेट बदलें
sns.violinplot(x="day", y="total_bill", hue="time", data=tips, palette="Set2")
# क्वार्टाइल लाइनें दिखाएं
sns.violinplot(x="day", y="total_bill", hue="time", data=tips, inner="box")
बॉक्सप्लॉट vs वायलिन प्लॉट
वायलिन प्लॉट = बॉक्सप्लॉट + KDE (घनत्व वक्र)। यह वितरण का पूरा आकार दिखाता है, केवल सारांश सांख्यिकी नहीं।