在seaborn中没有线性拟合的散点图

时间:2015-04-14 20:50:05

标签: python matplotlib 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

3 个答案:

答案 0 :(得分:43)

fit_reg参数设置为False

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

答案 1 :(得分:0)

这不能直接回答问题,但可以帮助其他在这里找到只想做一个简单的旧散点图的人。
As of version 0.9.0 seaborn现在有一个scatterplot method

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

答案 2 :(得分:-2)

我建议使用sns.lmplot()代替sns.scatterplot()

# import libaries
import seaborn as sns

# load tips dataset from GitHub seaborn repository
tips_df = sns.load_dataset("tips")

#create scatter plot
sns.scatterplot(x = "tip", y = "total_bill", data = tips_df, hue ="sex")

要详细了解更多信息,请使用seaborn scatter plot使用sns.scatterplot()教程