Как переименовать легенду в pyplot - PullRequest
1 голос
/ 10 марта 2020

Как изменить значения 0 и 1 в этой конкретной легенде на «Нет» и «Да» соответственно?

import matplotlib.pyplot as plt
import numpy as np

plt.contourf(x1, x2, regr.predict(np.array([x1.ravel(), x2.ravel()]).T).reshape(x1.shape), alpha=0.75, cmap = ListedColormap(('red','green')))
for i, j in enumerate(np.unique(y_set)):
    plt.scatter(x_set[y_set == j, 0], x_set[y_set == j,1], c = ListedColormap(('black','white'))(i),label=j)
plt.legend()

Изображение

Ответы [ 2 ]

0 голосов
/ 10 марта 2020

Вот ваше решение: просто вам нужно определить метки для plt.scatter(..., label=['No','Yes']).

import matplotlib.pyplot as plt
import numpy as np

plt.contourf(x1, x2, regr.predict(np.array([x1.ravel(), x2.ravel()]).T).reshape(x1.shape), alpha=0.75, cmap = ListedColormap(('red','green')))
for i, j in enumerate(np.unique(y_set)):
    plt.scatter(x_set[y_set == j, 0], x_set[y_set == j,1], c = ListedColormap(('black','white'))(i),label=['No','Yes'])
plt.legend()
0 голосов
/ 10 марта 2020

Исправлено с помощью

import matplotlib.patches as mpatches
yes_instance = mpatches.Patch(color='white', label='Yes')
no_instance = mpatches.Patch(color='black', label='No')
plt.legend(handles=[yes_instance, no_instance])
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...