समुद्री ज़मीन पर प्लॉटिंग की समस्याएँ


सभी को नमस्कार,

मैं सीबॉर्न प्लॉटिंग में थोड़ा नया हूं और निम्नलिखित कोड का उपयोग करते समय, आंकड़े थोड़े अजीब लगते हैं और मुझे लगता है कि वे ठीक से नहीं हैं कि वे क्या होने चाहिए। क्या आप कृपया मार्गदर्शन कर सकते हैं कि मुझमें कहाँ कमी है?

मैंने क्या प्रयास किया है:

import pandas as pd
import numpy as np
import matplotlib.pyplot as plt
import seaborn as sns
import plotly as px

Titanic=sns.load_dataset("titanic")
sns.countplot(x='age', data=Titanic) # x-ticks are overlapping

sns.violinplot(data=Titanic, x="age", y="fare", hue="class") # same problem
sns.pairplot(Titanic) # give and error
sns.boxenplot(data=Titanic,x="age", y="fare", hue="class") # graph is too bad as well as same error as previous.
sns.violinplot(data=Titanic, x="age", y="fare", hue="class") # graph is too bad as well as same error as previous.
sns.countplot(x='age', data=Titanic) # x-ticks are overlapping

समाधान 1

आपको अपने सीबॉर्न प्लॉट्स के लिए सहायता की आवश्यकता है। आइए उन्हें एक-एक करके संबोधित करें:

1. `sns.countplot` में एक्स-टिक्स को ओवरलैप करना: यह आमतौर पर तब होता है जब ‘आयु’ कॉलम में बहुत सारे अद्वितीय मान होते हैं। कथानक को अधिक पठनीय बनाने के लिए, आप या तो आकृति का आकार बढ़ा सकते हैं या एक्स-टिक लेबल को घुमा सकते हैं।

2. `sns.violinplot`, `sns.boxenplot`, और `sns.pairplot` के साथ समस्याएँ: ये मुद्दे ‘आयु’ और ‘किराया’ कॉलम में डेटा की प्रकृति के कारण उत्पन्न हो सकते हैं। ‘आयु’ कॉलम में NaN मान हो सकते हैं, या ‘किराया’ की सीमा बहुत व्यापक हो सकती है, जिससे प्लॉट विषम हो सकते हैं।

3. `Sns.pairplot` के साथ त्रुटि: यह त्रुटि डेटासेट में गैर-संख्यात्मक या NaN मानों के कारण हो सकती है। `sns.pairplot` केवल संख्यात्मक कॉलम के साथ काम करता है और NaN मानों को अच्छी तरह से संभाल नहीं सकता है।

इन समस्याओं को हल करने के लिए यहां कुछ कोड समायोजन और युक्तियां दी गई हैं:

काउंटप्लॉट को समायोजित करना

अजगर
plt.figure(figsize=(10, 6)) # Adjusting figure size
sns.countplot(x='age', data=Titanic)
plt.xticks(rotation=90)  # Rotating x-ticks
plt.show()

वायलिन और बॉक्सन प्लॉट को संभालना

`sns.violinplot` और `sns.boxenplot` के लिए, सुनिश्चित करें कि ‘आयु’ और ‘किराया’ कॉलम में NaN मान या आउटलेयर नहीं हैं जो प्लॉट को विकृत कर सकते हैं। आप NaN मानों को हटाकर या उन्हें केंद्रीय प्रवृत्ति माप (माध्य, माध्यिका) से भरकर संभाल सकते हैं।

अजगर
# Handling NaN values
Titanic = Titanic.dropna(subset=['age', 'fare'])

# Now try plotting
sns.violinplot(data=Titanic, x="age", y="fare", hue="class")
plt.show()

sns.boxenplot(data=Titanic, x="age", y="fare", hue="class")
plt.show()

पेयरप्लॉट को ठीक करना

`Sns.pairplot` को ठीक करने के लिए, सुनिश्चित करें कि सभी कॉलम संख्यात्मक हैं और NaN मानों को संभालते हैं।

अजगर
# Dropping non-numeric columns for pairplot
numeric_cols = Titanic.select_dtypes(include=[np.number]).columns.tolist()
Titanic_numeric = Titanic[numeric_cols].dropna()

sns.pairplot(Titanic_numeric)
plt.show()

क्या आप इन समायोजनों को आज़मा सकते हैं और देख सकते हैं कि क्या वे आपके प्लॉट की समस्याओं का समाधान करते हैं? यदि आप अभी भी समस्याओं का सामना करते हैं, तो विशिष्ट त्रुटि संदेश अधिक जानकारी प्रदान कर सकते हैं कि क्या गलत हो सकता है।

コメント

タイトルとURLをコピーしました