【问题标题】:How to change color of outliers in seaborn scatterplot?如何更改seaborn散点图中异常值的颜色?
【发布时间】:2023-04-07 02:30:02
【问题描述】:

我想通过将异常值更改为其他颜色来识别异常值,以便在去除异常值后,散点图的变化更清晰。

# TotalBsmtSF: Total square feet of basement area

fig = plt.figure(figsize=(16, 8))

ax1 = fig.add_subplot(211)
b = sns.scatterplot(x = 'TotalBsmtSF', y = 'SalePrice', data = df, ax=ax1,)
plt.title ('Total square feet of basement area VS SalePrice (With Outliers)', fontsize=13)
plt.tight_layout()

# Removing houses with total basement area which is more than 3000 square feet
df = df.drop(df[(df['TotalBsmtSF']>3000) & (df['SalePrice']>=160000)].index)
# print(df['TotalBsmtSF'].head(450))
ax2 = fig.add_subplot(212)
b = sns.scatterplot(x = 'TotalBsmtSF', y = 'SalePrice', data = df, ax=ax2,)
plt.title ('Total square feet of basement area VS SalePrice (Outliers Removed)', fontsize=13)
plt.tight_layout()

plt.close(2)
plt.close(3)
plt.tight_layout()

【问题讨论】:

    标签: python seaborn scatter-plot outliers


    【解决方案1】:

    Seaborn 允许您根据分类或数字数据change the color 的标记。因此,您可以创建一个新列来定义数据点是否为异常值,然后在 seaborn 中调用 hue 参数。这些将是在您的代码中添加或更改的行

    df['outlier'] = np.where(df['TotalBsmtSF']>3000) & (df['SalePrice']>=160000), 'yes', 'no')
    b = sns.scatterplot(x = 'TotalBsmtSF', y = 'SalePrice', data = df, ax=ax1, hue="outlier")
    

    我认为这应该可行,但我无法确认,因为我没有可使用的数据

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2017-03-12
      • 1970-01-01
      • 2010-11-26
      • 1970-01-01
      • 1970-01-01
      • 2020-10-10
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多