详细版本见个人博客:Seaborn lineplot图例标题设置
一、问题描述
下面是我的lineplot()
代码,如果此方法用了hue参数同时绘制多个类别图,这时候seaborn会把这个hue的标签当做子标题。
sns.lineplot(x="time", y="value", hue="category", data=df)
如果我用下面的方法,会产生一个新图例的标题,原来的图例标题并没有被修改:
ax.legend().set_title('title')
二、问题分析
seaborn会错误的把图例的标题当做一个subgroup-title。
seaborn is misusing a legend label as a (subgroup-)title.
三、解决方法
1、修改此子标题方法
legend = ax.legend()
legend.texts[0].set_text("Whatever else")
2、移除此子标题方法
handles, labels = ax.get_legend_handles_labels()
ax.legend(handles=handles[1:], labels=labels[1:])
3、去掉子标题,加上真正的标题方法
handles, labels = ax.get_legend_handles_labels()
ax.legend(handles=handles[1:], labels=labels[1:], title="Whatever else")
详细版本见个人博客:Seaborn lineplot图例标题设置