pythonmatplotlibseabornswarmplot

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)

Solution

  • 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.