2015-04-14 29 views
18

Seaborn'un lmplot modelindeki lineer uyumu kapatmak için bir yol olup olmadığını veya sadece dağılım grafiğini üreten eşdeğer bir işlev olup olmadığını merak ediyorum. Elbette, matplotlib'i de kullanabilirim, ancak denizanasında sözdizimi ve estetiği oldukça çekici buluyorum. Örneğin,. Öyle gibi doğrusal bir uyum olmadan aşağıdaki grafikDoğuştan doğrusal olmayan dağınık saçılma

import seaborn as sns 
sns.set(style="ticks") 

df = sns.load_dataset("anscombe") 
sns.lmplot("x", "y", data=df, hue='dataset') 

enter image description here

çizmek istiyorum:

from itertools import cycle 
import numpy as np 

import matplotlib.pyplot as plt 

color_gen = cycle(('blue', 'lightgreen', 'red', 'purple', 'gray', 'cyan')) 

for lab in np.unique(df['dataset']): 
    plt.scatter(df.loc[df['dataset'] == lab, 'x'], 
       df.loc[df['dataset'] == lab, 'y'], 
       c=next(color_gen), 
       label=lab) 

plt.legend(loc='best') 

enter image description here

+2

Pandalar ve denizanası stilleri ile çeşitli yaklaşımlar [burada] (http://stackoverflow.com/questions/22543208/ggplot-styles-in-python) - örneğin matplotlib'de çalışırken denizanası komployu bir bağlam olarak kullanabilirsiniz. . – cphlewis

+0

6999'da temsilcinizi gördüm, bu yüzden yardım edemedim ama soruya oy verdim;) – derchambers

+0

Haha, buna ek olarak, Q & A'nın da yardımcı olacağını umuyorum. 2018'de biraz daha aktif olmayı planladığımı hatırlatıyor :) – Sebastian

cevap

37

set fit_reg argüman False için:

sns.lmplot("x", "y", data=df, hue='dataset', fit_reg=False) 
+0

Teşekkürler, her nasılsa sadece 'lmplot' parametrelerine baktım ve 'regplot' dediğini bilmiyordum. Sorun çözüldü :) – Sebastian

İlgili konular