Постройте сюжет Сиборна и добавьте легенду - PullRequest
2 голосов
/ 26 мая 2020

См. Код ниже. Я создаю график с помощью seaborn, затем рисую некоторые другие значения на том же рисунке с помощью plt.plot, работает нормально, но метод plt.legend, по-видимому, не аддитивен, то есть я не могу использовать его для маркировки обеих строк в диаграммы, которые будут 'from seaborn' и 'from plt', оба связаны с правильным цветом линии.

import numpy as np
import matplotlib.pyplot as plt
import seaborn as sns
mean, cov = [0, 2], [(1, .5), (.5, 1)]
data_sample, y = np.random.multivariate_normal(mean, cov, size=100).T
data_min = min(data_sample)
data_max = max(data_sample)
plot_points = [(data_min + (i/100) * (data_max-data_min)) for i in range(0, 100)]
sns.set(color_codes=True)
plt.figure()
ax = sns.kdeplot(data_sample, legend='from seaborn')
ax.plot(plot_points, y)
plt.legend(['from plt'])
plt.show()

Как я могу решить эту проблему?

1 Ответ

2 голосов
/ 26 мая 2020

Измените legend на label и добавьте label к plot:

ax = sns.kdeplot(data_sample, label='from seaborn')
ax.plot(plot_points, y, label='from plt')
ax.legend()

Вывод:

enter image description here

...