【问题标题】:Seaborn hue with loc condition具有 loc 条件的 Seaborn 色调
【发布时间】:2022-01-20 10:03:53
【问题描述】:

我面临以下问题:我想创建一个带有 seaborn 的 lmplot 并且我想区分颜色不是基于现有列而是基于条件一列。

给定以下 df 用于租金价格预测:

area rental price year build ...
40 400 1990 ...
60 840 1995 ...
480 16 1997 ...
... ... ... ...
sns.lmplot(x="area", y="rental price", data=df, hue = df.loc[df['year build'] > 1992])

上面的这个不起作用。我知道我可以添加一个表示此条件的列并以“色调”来处理此列,但是没有办法给 seaborn 一个色调条件吗?

提前致谢!

【问题讨论】:

    标签: pandas conditional-statements seaborn hue


    【解决方案1】:

    您可以添加一个包含布尔信息的新列并将其用于色调。例如data['at least from eighties'] = data['model_year'] >= 80。这将创建一个以列名作为标题,FalseTrue 作为文本的图例。如果将值映射到字符串,则会出现这些值。以下是使用 seaborn 的演示数据集之一的示例:

    import matplotlib.pyplot as plt
    import seaborn as sns
    
    df = sns.load_dataset('mpg')
    df['decenium'] = (df['model_year'] >= 80).map({False: "seventies", True: "eighties"})
    
    sns.lmplot(x='weight', y='mpg', data=df, hue='decenium')
    plt.tight_layout()
    plt.show()
    

    【讨论】:

      猜你喜欢
      • 2020-08-05
      • 1970-01-01
      • 2016-05-15
      • 1970-01-01
      • 2023-03-29
      • 1970-01-01
      • 2020-07-20
      • 1970-01-01
      • 2017-09-12
      相关资源
      最近更新 更多