首页 > 解决方案 > seaborn.pairplot 使用条件设置透明度?

问题描述

sns.pairplot 这是我生成的配对图sns.pairplot()。如您所见,大部分点属于蓝色,因此很难在蓝色下方找到其他点。所以我想让蓝色半透明而另一个保持不透明,以更清楚地显示红色和绿色。

当设置 sns.pairplot 的 plot_kw 'alpha' 时,所有点将具有相同的透明度。因此,它没有任何改进。如何仅将 alpha 关键字应用于蓝色?因为蓝色点的数量远远多于红色和绿色,因此很难识别被蓝色覆盖的红色和绿色。

标签: matplotlibseaborn

解决方案


您可以使用 的hue_kws=参数PairGrid来更改绘制不同色调级别的方式:

iris = sns.load_dataset('iris')
g = sns.PairGrid(iris, hue="species", hue_kws={"alpha": [0.25,1,1]})
g = g.map_diag(sns.kdeplot, shade=True)
g = g.map_lower(plt.scatter)
g = g.add_legend()

在此处输入图像描述


推荐阅读