【发布时间】:2022-07-27 20:42:35
【问题描述】:
当有许多色调/类别时,如何在包含所有数据的 2D KDEplot 顶部绘制数据子集的散点图?
查看代码以重现我想要避免的内容:散点图与 KDEplot 背景颜色不同。我没有找到执行此操作的“算法”方法。
from sklearn.datasets import make_blobs
import seaborn as sns
# data set generate
X, y = make_blobs(n_samples = 200, n_features = 2, centers = 3, random_state = 2, cluster_std = 1.5)
df = pd.DataFrame(X, columns=['a', 'b'])
df['target'] = y
sns.kdeplot(
data=df,
x='a', y='b',
hue='target',
fill=True,
alpha=0.2)
sns.scatterplot(
data=df,
x="a", y="b",
hue="target",
)
plt.show()
sns.kdeplot(
data=df,
x='a', y='b',
hue='target',
fill=True,
alpha=0.2)
sns.scatterplot(
data=df[df.target==2],
x="a", y="b",
hue="target",
)
【问题讨论】:
-
为唯一目标创建自定义调色板:1.
cats = sorted(df.target.unique()),2.palette = dict(zip(cats, sns.cubehelix_palette(n_colors=len(cats)))),然后将其传递给调色板参数。palette=palette
标签: python matplotlib seaborn