Настройте seaborn / matplotlib, чтобы всегда использовать параметр edgecolor = 'k' - PullRequest
0 голосов
/ 20 января 2019

Я строю много гистограмм, которые все в одном стиле, например

import seaborn as sns                                                       
import matplotlib.pyplot as plt                                             

sns.set_style('darkgrid')
# some more configuration options that work as expected here
sns.barplot([1, 2, 3], [4, 5, 6], edgecolor='k')

, что дает

Есть ли способ настроить мое графическое окружение так, чтобы он всегда использовал edgecolor='k' таким образом, чтобы мне не приходилось каждый раз передавать параметр?

Я пытался

sns.set_style(rc={'patch.force_edgecolor':True})

но это не имеет никакого эффекта. Если я не использую явно edgecolor='k' при построении графика, тогда у баров нет края.

Я также заметил, что есть

plt.rc('edgecolor', ???)

, но я не могу понять, что считать ??? (это должен быть аргумент ключевого слова).


редактирование:

Использование

sns.set_style(rc={'patch.force_edgecolor':True})

не работает, но с использованием

sns.set_style(rc={'patch.force_edgecolor':True,
                   'patch.edgecolor': 'black'})

работает как положено. Я не понимаю, почему 'patch.edgecolor': 'black' здесь необходим, так как это похоже на настройку по умолчанию.

Ответы [ 2 ]

0 голосов
/ 20 января 2019

Теперь я могу объяснить, что пошло не так с sns.set_style.

sns.set_style('darkgrid') устанавливает 'patch.edgecolor' на 'w', поэтому его необходимо вручную установить на 'black' снова.

0 голосов
/ 20 января 2019

Используйте patch, например:

plt.rcParams['patch.edgecolor'] = 'black'

Вы также можете сделать:

plt.rc('patch', edgecolor='black')
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...