web-dev-qa-db-ja.com

Seabornの線形フィットなしの散布図

Seabornのlmplotに線形フィットをオフにする方法があるのか​​、それとも散布図を生成するだけの同等の関数があるのか​​疑問に思っています。もちろん、matplotlibも使用できますが、seabornの構文と美学は非常に魅力的です。例えば、。私は次のプロットをプロットしたい

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

そのような線形フィットなし:

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

23
user2489252

fit_reg引数をFalseに設定します。

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

これは質問に直接答えるわけではありませんが、単純に古い散布図を行いたいだけの人がここにいるのを助けるかもしれません。
バージョン0.9.0以降 seabornには scatterplotメソッド があります。

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

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

enter image description here

1
Michael Hall