调整Seaborn Pairplot图例透明度/颜色 解决低alpha下图例标识看不清问题
问题原因
你在plot_kws中设置的散点透明度alpha=0.05会被Seaborn同步应用到图例的标记元素上,因此图例中的彩色圆点也继承了极低的透明度,导致难以看清。
解决方法
在现有代码最后新增代码单独修改图例标记的透明度即可,无需调整原图散点的显示效果,完整可运行代码参考如下:
grid = sns.pairplot(data=vst_wgcna, hue='cluster', kind="reg", palette=palette, corner=True, plot_kws={ 'scatter_kws': {'alpha': 0.05}}) grid.map_offdiag(plot_unity, plot_kws={ 'scatter_kws': {'alpha': 0.1}}) grid._legend.set_bbox_to_anchor((0.81, 0.5)) # 新增部分:遍历修改所有图例标记的透明度 for handle in grid._legend.legendHandles: # 将图例圆点透明度设为1(完全不透明),可根据视觉需求调整数值 handle.set_alpha(1) # 可选:如果觉得图例标记太小,可加下行调整尺寸,数值越大标记越大 # handle.set_sizes([100]) # 注意:若使用matplotlib 3.7及以上版本,legendHandles属性已更名,遍历代码替换为下方案即可 # for handle in grid._legend.legend_handles: # handle.set_alpha(1)
内容的提问来源于stack exchange,提问作者Donghui HU
相关产品推荐
相关产品推荐

