【问题标题】:scatterplot in python, make color and shape according to different categorical variablespython中的散点图,根据不同的分类变量制作颜色和形状
【发布时间】:2018-02-21 16:11:35
【问题描述】:

我需要生成一个散点图,其中可以通过散点的颜色和形状来表示多个分类变量。例如,

df = pd.DataFrame({'animals':pd.Series(['tiger','cheetah','lion','giraffe','elephant','gorilla']),
               'weight': pd.Series([200,120,240,240,400,300]),
               'meal': pd.Series([20,10,40,15,40,30]),
               'region': pd.Categorical(["Asian","American","African","African",'Asian','American']),
              'gender': pd.Categorical(["female","female","male","female",'male','male']),
              'group': pd.Series([True, False, False, True, True, True])})

sns.lmplot(data = df, x = 'weight', y = 'meal', hue = 'region', palette = 'Dark2',
       fit_reg = False, scatter_kws={"s": 20}, size = 4)

这将创建一个绘图,其中区域由不同的颜色表示。 但我还需要以不同的形式代表性别。所以颜色显示区域,形状显示性别。 有没有办法做到这一点?感谢您的任何建议!

enter image description here

【问题讨论】:

    标签: python seaborn scatter


    【解决方案1】:

    您只需将调用中的标记列表传递给sns.lmplot

    import seaborn as sns
    
    df = pd.DataFrame({'animals':pd.Series(['tiger','cheetah','lion','giraffe','elephant','gorilla']),
                   'weight': pd.Series([200,120,240,240,400,300]),
                   'meal': pd.Series([20,10,40,15,40,30]),
                   'region': pd.Categorical(["Asian","American","African","African",'Asian','American']),
                  'gender': pd.Categorical(["female","female","male","female",'male','male']),
                  'group': pd.Series([True, False, False, True, True, True])})
    
    sns.lmplot(data = df, x = 'weight', y = 'meal', hue = 'region', palette = 'Dark2',
           fit_reg = False, scatter_kws={"s": 20}, size = 4, markers=["o","+","x"])
    
    plt.show()
    

    这给出了:

    【讨论】:

    • 你找到我了。 :) 我会删除。 +1
    • 感谢 DavidG 和 Scott。这样,同一个变量可以用颜色和形状来表示。有没有办法用颜色表示一个变量,例如区域,用形状表示一个不同的变量,例如性别?谢谢
    • 嗨@berry14,你的问题解决了吗?可以分享一下脚本吗?
    猜你喜欢
    • 2017-09-14
    • 2014-06-14
    • 2020-08-13
    • 2015-07-29
    • 2021-07-13
    • 1970-01-01
    • 2022-06-15
    • 2020-07-03
    • 2018-08-23
    相关资源
    最近更新 更多