我在为散点图标记着色时遇到一些问题。我有一个简单的数据框,其中包含值“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)
但结果如下:如您所见,一种色调不会着色,因为只有两种颜色:蓝色和红色。
。
现在发生了一些非常奇怪的事情:为了解决这个问题,我构建了自己的调色板广告将其添加到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)