df = df.head(10)
grid = sns.FacetGrid(df, col='walk', hue='walk', col_wrap=2, size=5, aspect=1)
bp = grid.map(sns.barplot, 'step', 'position', palette='Set3')
Ax = bp.axes[0]
Boxes = [item for item in Ax.get_children() if isinstance(item, matplotlib.
    patches.Rectangle)][:-1]
legend_labels = ['a', 'b', 'c', 'd', 'e']
legend_patches = [matplotlib.patches.Patch(color=C, label=L) for C, L in
    zip([item.get_facecolor() for item in Boxes], legend_labels)]
plt.legend(handles=legend_patches)
How to add legend on Seaborn facetgrid bar plot