मैं क्लस्टरिंग परिणाम के लिए समुद्री lmplot बनाने की कोशिश कर रहा हूं, डेटा उदाहरण नीचे दिखाया गया है:

    ID   CA     IP  clusters
    38  10.3    5.6   1
    59  10.4    6.1   0
    64  10.0    6.6   1
    35  10.6    5.6   1
    54  10.6    5.6   1
    60  10.2    8.2   1

दो क्लस्टर हैं (क्लस्टर 0 और क्लस्टर 1), और मैं प्रत्येक स्कैटर पर "आईडी" कॉलम के आधार पर "आईडी" दिखाना चाहता हूंseaborn regplot लेकिन यह कहते हुए त्रुटियां हैं कि "FacetGrid में टेक्स्ट फ़ंक्शन नहीं है"।

समुद्री भूखंड के लिए कोड:

ax = sns.lmplot('CA', 'IP', 
     data=df_tr, 
     fit_reg=False, 
     hue="clusters",  palette="Set1",
     scatter_kws={"marker": "D", "s": 50})

plt.title('Calcium vs Phosporus')
plt.xlabel('CA')
plt.ylabel('IP')

और साजिश:

enter image description here

2
npm 15 जिंदा 2019, 05:49

1 उत्तर

सबसे बढ़िया उत्तर

समस्या यह है कि seaborn.regplot (आपके द्वारा लिंक की गई साइट में प्रयुक्त) to) एक matplotlib axes ऑब्जेक्ट लौटाएं जो आपको text फ़ंक्शन का उपयोग करने की अनुमति देता है। हालांकि, seaborn.lmplot एक FacetGrid देता है।

इसलिए आपको फ़ैसटग्रिड की कुल्हाड़ियों को प्राप्त करने की आवश्यकता है जिसका आप उपयोग कर सकते हैं

fgrid = sns.lmplot(...)
ax = fgrid.axes[0,0]  # fgrid.axes return an array of all axes in the figure, so we index the array

यहां से आप लिंक में दिखाए अनुसार फ़ंक्शन का उपयोग कर सकते हैं

4
DavidG 15 जिंदा 2019, 13:29