Я создаю линейный участок из кадра данных с seaborn и хочу добавить горизонтальную линию к графику.Это работает нормально, но у меня возникают проблемы с добавлением горизонтальной линии к легенде.
Вот минимальный проверяемый пример:
import seaborn as sns
import matplotlib.pyplot as plt
import numpy as np
import pandas as pd
x = np.array([2, 2, 4, 4])
y = np.array([5, 10, 10, 15])
isBool = np.array([True, False, True, False])
data = pd.DataFrame(np.column_stack((x, y, isBool)), columns=["x", "y", "someBoolean"])
print(data)
ax = sns.lineplot(x="x", y="y", hue="someBoolean", data=data)
plt.axhline(y=7, c='red', linestyle='dashed', label="horizontal")
plt.legend(("some name", "some other name", "horizontal"))
plt.show()
Это приводит к следующему графику:
Легенды для «какого-то имени» и «другого имени» отображаются правильно, но «горизонтальная» легенда просто пуста.Я попытался просто использовать plt.legend()
, но тогда легенда состоит из, казалось бы, случайных значений из набора данных.
Есть идеи?