Изменение краевого цвета в маркерах легенды Matplotlib - PullRequest
0 голосов
/ 26 сентября 2019

Я проверил kwargs на легенду matplotlibs, но не могу найти эту опцию доступной.Когда я создаю легенду, цветовой ключ рядом с текстом будет правильным, однако есть синий egdecolor для ключа, который я хотел бы удалить.

Интересно, знает ли кто-нибудь, как это сделать.

cm = matplotlib.colors.ListedColormap(random.sample(sns.palettes.color_palette('Reds').as_hex(), len(sns.palettes.color_palette('Spectral').as_hex())))

con.plot(column='suffix', 
         figsize=(15,15), 
         linewidth=2, 
         legend=True, 
         cmap=cm, 
         legend_kwds={'loc': 'lower center', 
                      'ncol':len(con.columns), 
                      'frameon':False, 
                      'markerscale':3.0,
                     'bbox_to_anchor': (0.5, -0.05)})

plt.axis('off')
plt.show()

Приведенный выше код взят из функции plot ().Этот код возвращает изображение ниже, где мы можем видеть синий ободок для цветов ключа легенды: Plot

1 Ответ

2 голосов
/ 26 сентября 2019

Из-за этой строки этого не должно случиться с самой новой версией.Это это исправление , которое доступно начиная с версии 0.5 и выше.

Если вы застряли с более старой версией и не можете обновить ее до 0,5 или выше, вам может потребоваться указать пропускную способность markeredgege черезmatplotlib rcParams.

with plt.rc_context({"lines.markeredgewidth" : 0}):
    # your code here
    df.plot(....)
...