如何修改Seaborn catplot图例的背景色、透明度及添加黑色边框
解决Seaborn图例透明及添加黑色边框的问题
修改后的完整代码
from matplotlib import pyplot as plt import seaborn as sb df = sb.load_dataset("titanic") g = sb.catplot( data=df, x="who", y="survived", hue="class", kind="bar" ) # 获取图例对象并设置样式 legend = g._legend frame = legend.get_frame() frame.set_alpha(1) # 设置图例背景透明度,1为完全不透明,0-1之间可调 frame.set_edgecolor('black') # 设置图例边框为黑色 plt.tight_layout() plt.savefig('bah.png')
关键说明
- 由于
catplot返回的是FacetGrid对象,直接通过g._legend获取图例实例 - 调用
get_frame()获取图例的背景框,通过set_alpha()调整透明度(取值范围0到1,0全透明,1完全不透明) - 用
set_edgecolor('black')给图例添加黑色边框
如果需要让图例背景半透明,比如80%不透明度,只需把frame.set_alpha(1)改成frame.set_alpha(0.8)即可。
内容的提问来源于stack exchange,提问作者Changed My Name Again
相关产品推荐
相关产品推荐

