Unable to show legend in seaborn distplot
I am new to plotting in python and trying following code to plot distribution in seaborn
but unable to see the legend, i.e., test_label1
and test_label1
on the plot.
import matplotlib.pylab as plt
import seaborn as sns
import numpy as np
plt.figure("Test Plots")
lst1 = list(np.random.rand(10))
lst2 = list(np.random.rand(10))
sns.distplot(lst1, label='test_label1', color="0.25")
sns.distplot(lst2, label='test_label2', color="0.25")
plt.show()
As you have already labelled your plots using label=
inside your sns.distplot
then all you have to do is show your legend. This is done by adding plt.legend()
just before plt.show()
More information on matplotlib legends can be found in the documentation
By using fig.legend
we can show legends in the distribution plot.
Here, an argument array of labels
is passed to the function.
Labels in the legend will also be displayed as an order of array values.
import seaborn as sns
import matplotlib.pyplot as plt
fig = plt.figure(figsize=(10,6))
lst1 = list(np.random.rand(10))
lst2 = list(np.random.rand(10))
sns.distplot(lst1)
sns.distplot(lst1)
fig.legend(labels=['test_label1','test_label2'])
plt.show()