2014-09-19 13 views
5

this example'a göre arsa oluşturmak için deniz aygırı kullanıyorum. BenArkaplan renk arsasının boyutunu, deniz tabanı eklem bölgesinde bulunan eksenlerin boyutuna ayarlayın.

g = sns.jointplot(x1, x2, kind="kde", size=7, space=0, xlim=(-5,5), ylim=(-5,5)) 

kod son satırı değiştirdiğinizde

import numpy as np 
import pandas as pd 
import seaborn as sns 
sns.set(style="white") 

rs = np.random.RandomState(5) 
mean = [0, 0] 
cov = [(1, .5), (.5, 1)] 
x1, x2 = rs.multivariate_normal(mean, cov, 500).T 
x1 = pd.Series(x1, name="$X_1$") 
x2 = pd.Series(x2, name="$X_2$") 

g = sns.jointplot(x1, x2, kind="kde", size=7, space=0) 

Ancak, arka plan rengini doğru değişmez: enter image description here

o doldurur böylece arka plan rengini nasıl düzeltebilirim tüm arsa?

+1

Yani burada sorun olduğunu Seaborn sadece her iki boyutta -4 dışarı ve 4 KDE hesaplama olmasıdır. Bunun gerçek çözümü, IMO, soluk maviye (KDE = 0) sonsuz sınırlara uzanmak değil, bu renk paletinin en düşük seviyesini eksenlerin arka plan gölgesine zorlamaktır. –

cevap

5

Bu, KDE bant genişliğinin bir işlevi olan cut argümanı ile gerçekleştirilir. Varsayılan olarak 3'tür ve nasıl ayarlayacağınızı tam olarak söylemenin açık bir yolu yoktur, ancak etrafta oynamak ve çalışmak için değer bulmak zor olmamalıdır. jointplot kullanırken, bunu uygun çizim işlevine gönderilecek şekilde joint_kws sözlüğünde iletmek isteyeceksiniz.

sns.jointplot(x1, x2, kind="kde", size=7, space=0, 
       joint_kws={"cut": 10}, 
       xlim=(-5,5), ylim=(-5,5)) 

Voila:

enter image description here

0

Bu çok yakın, ancak rengi eşleştiremiyorum. Renk modülünü cm modülünde bulursanız ("cool"?) Tam rengi bulabilirsiniz.

ax = plt.gcf().axes[0] 
ax.set_axis_bgcolor((.93,.93,1)) 

Bu etkileşimli olarak yapıyorsanız, yeni renk şovuna sahip olmak için bir plt.draw() gerekir. Alttaki işlevi (kdeplot) KDE tahmininin daha da genişletileceğini bildirmeniz gerekir.

+0

Bu arada, "ortak yanıt" olarak adlandırılırken bunu başarmanın daha iyi olduğunu düşünmeme rağmen (cevabımdaki gibi), eğer bu rengi nasıl alacağınızı merak ediyorsanız, öncelikle fonksiyonun çıktısını atamanız gerekir. değişkeni, 'g' olarak adlandırın ve sonra g.ax_joint.collections [0] .get_facecolor() 'deyin. – mwaskom

İlgili konular