диаграмма рассеяния с пустым кружком внутри цикла - PullRequest
1 голос
/ 16 июня 2020

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

a = {'1': np.random.rand(10), '2': np.random.rand(10), '3': np.random.rand(10)}
fig,ax = plt.subplots()
for y in ['2', '3']:
    ax.scatter(a[y], a['1'], label=y)

ЕСЛИ я хочу использовать kwargs facecolor="none", маркеры просто исчезнут. Как-то мне нужно автоматически назначать цвета edgecolor

Ответы [ 2 ]

2 голосов
/ 16 июня 2020

Назначьте цвет кромки вручную с помощью C0, C1, et c., Которые соответствуют палитре по умолчанию:

a = {'1': np.random.rand(10), '2': np.random.rand(10), '3': np.random.rand(10)}
fig,ax = plt.subplots()
for i, y in enumerate(['2', '3']):
    ax.scatter(a[y], a['1'], label=y, facecolor='none', edgecolor=f'C{i}')
1 голос
/ 16 июня 2020

Вы также можете использовать строку o как marker:

a = {'1': np.random.rand(10), '2': np.random.rand(10), '3': np.random.rand(10)}
fig,ax = plt.subplots()
for y in ['2', '3']:
    ax.scatter(a[y], a['1'], label=y, marker='$o$')
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...