Доступ к атрибутам легенды в Seaborn set_style () - PullRequest
0 голосов
/ 05 марта 2020

Я экспериментировал с sns.set_style() для ограничения избыточной установки атрибутов графика.
Проблема, с которой я сталкиваюсь, заключается в том, что я не могу найти, как получить доступ ко всем атрибутам, которые я хотел бы изменить, .eg цвет легенды.

См. ниже таблицу стилей и код печати:

import seaborn as sns
import numpy as np

dark_plot_no_tick = {
    'axes.facecolor': '#181818',
    'legend.facecolor': "white", # still inheriting from figure
    'axes.edgecolor': '1',
    'axes.grid': False,
    'figure.facecolor': '#181818', # Works inline but not saving
    'xtick.bottom': False, # still visible
    'xtick.top': False,
    'ytick.left': False, # still visible
    'ytick.right': False,
    'axes.spines.left': True,
    'axes.spines.bottom': True,
    'axes.spines.right': False,
    'axes.spines.top': False
}

sns.set_style(rc=dark_plot_no_tick)
sns.set_palette(['#5FB7B2'])

fig, ax = plt.pyplot.subplots()
sns.kdeplot(np.random.normal(10, 10, 10_000), label="test", ax=ax)
fig.savefig("test.png");

Единственная проблема в том, что цвет легенды - либо прозрачен, либо наследуется, и я не могу понять, как чтобы изменить его в таблице стилей, которую я передаю set_style ().

Вот как это выглядит сейчас:

Неверно отформатированная легенда

И вот как бы я хотел, чтобы это выглядело:

Правильно отформатированная легенда

Редактировать:
Согласно предложению @ ImportanceOfBeingErnest, я попробовал ниже:

import matplotlib 

matplotlib.rcParams["legend.facecolor"] = "white"
matplotlib.rcParams["xtick.bottom"] = False
matplotlib.rcParams["ytick.left"] = False

Использование rcParams для изменения legend.facecolor работает, пока не работает изменение xtick.bottom и ytick.left.

Тем не менее, я все равно предпочел бы изменить цвет лица, используя sns.set_style(), а не matplotlib.rcParams.

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

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