小编eli*_*iss的帖子

Seaborn 散点图的“色调”颜色不正确

我在为散点图标记着色时遇到一些问题。我有一个简单的数据框,其中包含值“pos”和其他两个值“af_min”和“af_max”。我想根据 af_x 和 af_y 的某些条件为标记着色,但由于我没有任何列可用作色调,因此我创建了自己的列“颜色”。

       pos      af_x      af_y  color 
0  3671023  0.200000  0.333333    2.0
1  4492071  0.176471  0.333333    2.0
2  4492302  0.222222  0.285714    2.0
3  4525905  0.298246  0.234043    2.0
4  4520905  0.003334  0.234043    1.0
5  4520905  0.400098  0.000221    0.0
6  4520905  0.001134  0.714043    1.0
7  4520905  0.559008  0.010221    0.0
Run Code Online (Sandbox Code Playgroud)

现在,我使用seaborn和seaborn调色板创建一个散点图:

sns.scatterplot(data = df, x="af_x", y="af_y", hue="color", palette = "hsv", s=40, legend=False)

但结果如下:如您所见,一种色调不会着色,因为只有两种颜色:蓝色和红色。尝试使用 hsv 调色板

现在发生了一些非常奇怪的事情:为了解决这个问题,我构建了自己的调色板广告将其添加到seaborn istance中。但是散点图不是用我选择的色调进行着色,而是用我前段时间在另一个脚本中使用的一些颜色进行着色,并且无法更改它们。这是情节:使用个人调色板进行分散 这是代码:

           #violet      #green      #orange
 colors = ['#747FE3', '#8EE35D', '#E37346']
 sns.set_palette(sns.color_palette(colors))

 sns.scatterplot(data = df,  x="af_x", y="af_y", …
Run Code Online (Sandbox Code Playgroud)

python scatter matplotlib hue seaborn

4
推荐指数
1
解决办法
1万
查看次数

标签 统计

hue ×1

matplotlib ×1

python ×1

scatter ×1

seaborn ×1