无法在seaborn distplot中显示传奇

时间:2017-07-07 10:01:50

标签: python matplotlib legend seaborn

我不熟悉在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()

3 个答案:

答案 0 :(得分:40)

由于您已使用label=内的sns.distplot标记了地块,因此您只需显示您的图例即可。这是通过在plt.legend()

之前添加plt.show()来完成的

有关matplotlib图例的更多信息,请参阅documentation

答案 1 :(得分:0)

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()

答案 2 :(得分:0)

我发现使用“ fig.legend()”向季节性直方图传说中添加标签时出现了一些问题>。它将图例中的颜色顺序颠倒而无需更改直方图条的颜色...

mapred.reduce.tasks = -1

Histogram before using fig.legend()

Histogram after using fig.legend()

模块版本:

  • 出生的'0.11.0'
  • matplotlib'3.1.3'

简单的解决方案是通过应用 function cropText(_el, _len) {var element = document.querySelector(_el); var truncated = element.innerText; if (truncated.length > _len) { truncated = truncated.substr(0,_len) + '...'; } return truncated;} document.querySelector('p').innerText = cropText('p', 5); 来颠倒fig.legend(labels=['label1','label2',...]) 的顺序,但是我不认为这是一个好的解决方案。我不知道发生了什么以及如何阻止图例中颜色顺序的反转。