我是用python绘制的新手,并尝试按照代码绘制seaborn
分布,但无法看到图例,即test_label1
和test_label1
。
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()
由于您已经在sns.distplot
中使用label=
标记了您的地块,那么您所要做的就是展示您的传奇。这是通过在plt.show()
之前添加plt.legend()
来完成
的有关 matplotlib 图例的更多信息,请参见文档
通过使用fig.legend
我们可以在分布图中显示图例。 在这里,labels
的参数数组被传递给函数。 图例中的标签也将显示为数组值的顺序。
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()
我发现使用">fig.legend(("在seaborn直方图的图例中添加标签时存在一些问题。它颠倒了图例中的颜色顺序,而不会改变直方图条的颜色......
fig.legend(labels=['label1','label2',...])
使用 fig.legend(( 之前的直方图
使用 fig.legend(( 后的直方图
模块版本:
- 塞伯恩 '0.11.0'
- Matplotlib '3.1.3'
简单的解决方案是通过应用label_list.reverse()
来颠倒label_list
的顺序,但我认为这不是好的解决方案。我不知道发生了什么以及如何阻止颠倒图例中的颜色顺序。