Добавление легенды в график рассеяния при кодировании цвета - PullRequest
0 голосов
/ 18 октября 2019

enter image description here

Я не могу добавить легенду на свой график рассеяния. Проблема в том, что цвет кодируется переменной y, которая принимает два значения 0 или 1. X исходит из метода PCA, я пытаюсь построить 2 основных компонента с разными цветами, соответствующими разным y. Я получаю сообщение об ошибке «Не найдено ни одного дескриптора с метками, которые можно вставить в легенду».

Пробовал другой учебник, но все еще в связке.

fig = plt.figure(figsize=(10,5))
ax = fig.add_subplot(111)

plt.scatter(x_reduced[:,0], x_reduced[:,1],c=y, alpha=0.5)

plt.legend()
plt.show()

1 Ответ

1 голос
/ 18 октября 2019

Если вы используете более новую версию Matplotlib (> = 3.1), вы можете добавить легенды к диаграмме рассеяния, следуя этому ответу: Легенды диаграммы рассеяния

В противном случае, обходной путьсделать два отдельных звонка на plt.scatter

# one scatter for y == 0
plt.scatter(x_reduced[y==0,0], x_reduced[y==0,1], alpha=0.5, label = "group1")
# another scatter for y == 1
plt.scatter(x_reduced[y==1,0], x_reduced[y==1,1], alpha=0.5, label = "group2")

# create legend for both
plt.legend()
...