我正在 for 循环中绘制多个散点图,并且“色调”是根据特定维度设置的。该维度可以采用值 1 或 0。因此,我将调色板定义为仅具有 2 种颜色:
colors = ["#6e0303", "#2d659c"]
sns.set_palette(sns.color_palette(colors))
当我在 for 循环中绘制散点图时,1 的色调对于某些图采用一种颜色,而对于其余图采用另一种颜色。 但是,我希望颜色始终是固定的_ 1 -> “#6e0303” 0 -> “#2d659c”
我在 foo 循环中调用以下代码:
plt.figure()
sns.scatterplot(data=df, x="x_col", y="y_col", hue="my_dimension")
有没有办法实现这个目标?
为此,您只需要稍微调整现有的逻辑即可。首先,您需要将
colors
变量从数组更改为字典:
colors = {0: "#2d659c", 1: "#6e0303"}
然后,您需要将 Seaborn 的
palette
参数与字典一起使用:
sns.scatterplot(data=df, x="x_col", y="y_col", hue="my_dimension", palette=colors)