如何更改 seaborn relplot 的标记边缘颜色?

数据挖掘 Python matplotlib 海运
2022-02-08 12:33:30

我正在尝试以下图的格式输出一个复杂的平面网格图:

在此处输入图像描述

但问题是我不希望标记的边缘颜色是白色,我希望它是面部颜色。

在 matplotlib 中,我可以通过调用以下命令来更改标记边缘的颜色:

import numpy as np
import pandas as pd
import matplotlib.pyplot as plt
import seaborn as sns

df = pd.DataFrame({"values_x": np.random.randn(100), "values_y": np.random.randn(100)})

plt.scatter(x=df["values_x"], y=df["values_y"], edgecolors="red")
plt.show()

这会产生一个如下所示的图:

在此处输入图像描述

现在,如果我调用以下命令:

sns.relplot(data=df, x="values_x", y="values_y", edgecolors="red")
plt.show()

我仍然得到白色标记边缘,如下所示:

在此处输入图像描述

那么,如何在调用 sns.relplot() 时正确更改标记边缘的颜色?

*作为参考,我使用以下内容创建了顶面网格图:

sns.relplot(data=df,
            x="C",
            y=metric,
            row="penalty",
            col="solver",
            hue="fold")
1个回答

问题出在我使用的参数上。参数“edgecolors”不正确。正确的参数是非复数“edgecolor”。所以对 relplot 的正确调用是:

sns.relplot(data=df, x="values_x", y="values_y", edgecolor=None)

这将完全删除标记边缘,这是我最初尝试做的。