无法在海生地段显示传奇



我是用python绘制的新手,并尝试按照代码绘制seaborn分布,但无法看到图例,即test_label1test_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的顺序,但我认为这不是好的解决方案。我不知道发生了什么以及如何阻止颠倒图例中的颜色顺序。

最新更新