मैं सीरमॉर्न के lmplot का उपयोग एक रेखीय प्रतिगमन की साजिश रचने के लिए कर रहा हूं, अपने डेटासेट को दो समूहों में एक श्रेणीगत चर के साथ विभाजित कर रहा हूं।
एक्स और वाई दोनों के लिए, मैं दोनों भूखंडों पर मैन्युअल रूप से निचली बाउंड सेट करना चाहता हूं , लेकिन सीबोर्न डिफ़ॉल्ट पर ऊपरी बाउंड को छोड़ दें । यहाँ एक सरल उदाहरण है:
import pandas as pd
import seaborn as sns
import random
n = 200
random.seed(2014)
base_x = [random.random() for i in range(n)]
base_y = [2*i for i in base_x]
errors = [random.uniform(0,1) for i in range(n)]
y = [i+j for i,j in zip(base_y,errors)]
df = pd.DataFrame({'X': base_x,
'Y': y,
'Z': ['A','B']*(n/2)})
mask_for_b = df.Z == 'B'
df.loc[mask_for_b,['X','Y']] = df.loc[mask_for_b,] *2
sns.lmplot('X','Y',df,col='Z',sharex=False,sharey=False)
यह निम्न आउटपुट देता है:
लेकिन इस उदाहरण में, मैं xlim और ylim होना चाहता हूं (0, *)। मैंने sns.plt.ylim और sns.plt.xlim का उपयोग करने की कोशिश की, लेकिन वे केवल दाहिने हाथ की साजिश को प्रभावित करते हैं। उदाहरण:
sns.plt.ylim(0,)
sns.plt.xlim(0,)
मैं FacetGrid में प्रत्येक प्लॉट के लिए xlim और ylim का उपयोग कैसे कर सकता हूं?
numpy.random
मॉड्यूल से परिचित करते हैं, तो आप अपने आप को यादृच्छिक डेटा उत्पन्न करने में बहुत समय बचा सकते हैं (जो कि बहुत उपयोगी चीज हो सकती है!)। उदाहरण के लिए, आप प्राप्त कर सकते हैंbase_x
औरbase_y
साथbase_x = np.random.rand(n); base_y = base_x * 2
। तबy
चर समान रूप से वेक्टरकृत संचालन के साथ उत्पन्न हो सकता है।