plt.legend, чтобы показать все отдельные строки в столбце - PullRequest
0 голосов
/ 28 мая 2020

Я пытаюсь включить легенду в диаграмму рассеяния. Вот что у меня:

colour = {'High Risk':'darkorange', 'Low Risk':'green',  'Extreme Risk':'red', 'Medium Risk':'yellow' }
hfont = {'fontname':'Franklin Gothic Book'}

vs['Global-Risk'] = np.where(vs['Global-ERSA_Score']<=50, 'Extreme Risk',
                       np.where((vs['Global-ERSA_Score']>50) & (vs['Global-ERSA_Score']<=70), 'High Risk',
                               np.where((vs['Global-ERSA_Score']>70) & (vs['Global-ERSA_Score']<=90), 'Medium Risk','Low Risk')))

plt.figure(dpi=150)
#Use seaborn scatterplot for better customization
plt.scatter(vs['Global-Normalised Sentiment Index'], vs['Global-ERSA_Score'], c = vs['Global-Risk'].apply(lambda x: colour[x]))
sns.despine()
plt.grid(False)
plt.xlim(0.5,0.9)
plt.ylim(10,100)

plt.title('ERSA Score vs Normalised Sentiment Index\nMajor Sourcing Countries\nSelected Range', fontsize = 16, **hfont)
# Set x-axis label
plt.xlabel('Normalised Sentiment Index', fontsize = 12, **hfont)
# Set y-axis label
plt.ylabel('ERSA Score', fontsize = 12, **hfont)

plt.legend(vs['Global-Risk'], loc="best")

X_plot = np.linspace(0.4,1,2)
Y_plot = 84.702*X_plot

plt.plot(X_plot, Y_plot, color='b')
plt.show()

image

Прямо сейчас легенда просто отображается желтым цветом и «средний риск». Как мне заставить его отображать другие строки в столбце с указанным цветом?

Заранее спасибо !!

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...