I'm using distplot to visualise returns and I don't seem to be able to show the name of the distribution used in the legend. In other words, I'm using the relevant kws dictionaries to customise the various distplot options but when it comes to fit_kws I can only alter things like colour, line width, alpha but not label. Seaborn doesn't complain about the value I pass as label (and I'm using the same approach as for all other key/value pairs when I'm inputting them) but when it draws the picture I get labels for the Returns series, KDE but not the parametric distribution used (a T-distribution in this case but I've checked and the behaviour is the same independent on what distribution I pass to fit). Is there something wrong I'm doing or is this how it should work?
For completeness here is my code and the figure. As you can see there are labels for the returns and KDE but not the T-distribution plotted with the yellow line. The returns series is just a bunch of random returns so you can generate it if you like with a random number generator.
ax = sns.distplot(data['returns'], rug=True, fit=st.t,
rug_kws = {'alpha': 0.35},
kde_kws = {'color': '#fc4f30', 'label': 'KDE'},
hist_kws = {'alpha': 0.25, 'label': 'Returns'},
fit_kws = {'color': '#e5ae38', 'label': 'T-Dist', 'alpha' : 0.75})
Thanks,
Bruno

Although this was not my intention and I don't even understand how, but I think I fix this issue in my PR: https://github.com/mwaskom/seaborn/pull/777
This is a really cool and helpful function. Real time saver. Unfortunately this issue still exists. The label argument in fit_kws = {'color': '#e5ae38', 'label': 'T-Dist', 'alpha' : 0.75}) is not shown in the legend.
This issue still exists. :(
So I just worked around this issue. The problem is that the legend is drawn only when kde is calculated (down in seaborn.distributions._univariate_kdeplot) and is not updated after the fit is handled. Calling ax.legend(loc='best') after the ax = distplot call works. If ax.legend is called last thing in distplot, the issue would be fixed I think.
This got me. The following worked:
ax = sb.distplot(x, fit=scipy.stats.gennorm, kde_kws={"label": "KDE"}, fit_kws={"color": "k", "alpha": .25, "label": "Nml"})
ax.legend(loc='best')
The solution of calling legend explicitly works well.
Most helpful comment
So I just worked around this issue. The problem is that the legend is drawn only when kde is calculated (down in seaborn.distributions._univariate_kdeplot) and is not updated after the fit is handled. Calling ax.legend(loc='best') after the ax = distplot call works. If ax.legend is called last thing in distplot, the issue would be fixed I think.