Python метка рассеяния matplotlib цвет на белый - PullRequest
0 голосов
/ 13 апреля 2020

Как изменить цвет метки на белый для следующего кода. по умолчанию печатает черным цветом.

, когда я пытаюсь добавить color = 'w' или color = 'white', выдается ошибка, говорящая, что цвет не определен на PLT Scatter.

for a in [100, 300, 500]:
    plt.scatter([], [], c='lawngreen', alpha=0.8, s=a, label=str(a) + ' km$^2$')
plt.grid(True)
plt.legend(scatterpoints=1, frameon=False,labelspacing=1, loc='lower left')

1 Ответ

0 голосов
/ 13 апреля 2020

Поскольку мой комментарий не был достаточно четким, я копирую ответ здесь.

Просто используйте этот пост . Приведенный ниже код также изменяет цвет фона, так что белый текст легенды виден:

import matplotlib.pyplot as plt
from matplotlib import font_manager
import numpy as np

for a in [100, 300, 500]:
    plt.scatter([], [], c='lawngreen', alpha=0.8, s=a, label=str(a) + ' km²')
plt.grid(True)
plt.gca().set_facecolor('skyblue')
leg = plt.legend(scatterpoints=1, frameon=False,labelspacing=1, loc='lower left')
plt.setp(leg.get_texts(), color='white')
plt.show()

example plot

Обратите внимание, что plt.setp(leg.get_texts(), color='white') - это просто ярлык для

for text in leg.get_texts():
    text.set_color('white')
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...