2015-06-19 4 views
9

पर सेबर्न सहसंबंध गुणांक क्या कोई matplotlib या seaborn plot है जिसका उपयोग मैं g.map_lower या g.map_upper के साथ कर सकता हूं ताकि नीचे दिखाए गए प्रत्येक बिवारेट प्लॉट के लिए सहसंबंध गुणांक प्रदर्शित किया जा सके? plt.text मैन्युअल रूप से नीचे दिए गए उदाहरण को पाने के लिए मैप किया गया था जो एक कठिन प्रक्रिया है। , 1) यह, "वर्तमान" कुल्हाड़ियों पर साजिश चाहिए 2) यह स्थितीय तर्क के रूप में दो वैक्टर लेना चाहिए:पेयरग्रिड

enter image description here

उत्तर

18

आप जब तक यह कुछ नियमों का पालन करती map_* तरीकों के लिए किसी भी समारोह पारित कर सकते हैं और 3) विकल्प के साथ संगत होना चाहते हैं, तो इसे color कीवर्ड तर्क (वैकल्पिक रूप से इसका उपयोग करके) स्वीकार करना चाहिए।

तो अपने मामले में आप सिर्फ एक छोटे से corrfunc समारोह को परिभाषित करने और उसके बाद कुल्हाड़ियों आप टिप्पणी किए गए चाहता हूँ के पार मैप करने की आवश्यकता:

import numpy as np 
from scipy import stats 
import pandas as pd 
import seaborn as sns 
import matplotlib.pyplot as plt 
sns.set(style="white") 

mean = np.zeros(3) 
cov = np.random.uniform(.2, .4, (3, 3)) 
cov += cov.T 
cov[np.diag_indices(3)] = 1 
data = np.random.multivariate_normal(mean, cov, 100) 
df = pd.DataFrame(data, columns=["X", "Y", "Z"]) 

def corrfunc(x, y, **kws): 
    r, _ = stats.pearsonr(x, y) 
    ax = plt.gca() 
    ax.annotate("r = {:.2f}".format(r), 
       xy=(.1, .9), xycoords=ax.transAxes) 

g = sns.PairGrid(df, palette=["red"]) 
g.map_upper(plt.scatter, s=10) 
g.map_diag(sns.distplot, kde=False) 
g.map_lower(sns.kdeplot, cmap="Blues_d") 
g.map_lower(corrfunc) 

enter image description here

+0

कि पूरी तरह से काम किया धन्यवाद! – wblack