7

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)
Marcus Campbell
  • 2,746
  • 4
  • 22
  • 36
user308827
  • 21,227
  • 87
  • 254
  • 417

1 Answers1

21

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.

Primer
  • 10,092
  • 5
  • 43
  • 55