Logo Questions Linux Laravel Mysql Ubuntu Git Menu
 

Avoiding repeated legend in seaborn boxplot overlaid by swarmplot

enter image description here

In the seaborn based plot below, I am making a box plot overlaid by a swarm plot. Both are subset by hue. Is there any way I can not have them repeated twice in the legend though?

Here is my code:

ax = sns.boxplot(x=name_xaxis, y=name_col, hue=hue, data=frame, palette='Set2', linewidth=1.5, width=0.5)
sns.swarmplot(x=name_xaxis, y=name_col, hue=hue, data=frame, palette='Set2', color='.25', split=True)
like image 820
user308827 Avatar asked Mar 28 '16 17:03

user308827


1 Answers

Try to add this after sns.swarmplot(...):

handles, labels = ax.get_legend_handles_labels()
ax.legend(handles[:2], labels[:2])

This should replace the legend with only two entries from existing one.

like image 186
Primer Avatar answered Sep 22 '22 15:09

Primer