Seaborn не устанавливает цветовую палитру по умолчанию при импорте

Есть много ссылок, в которых говорится, что графики Matplotlib выглядели бы более приятными из-за цветовой палитры Seaborn, просто импортируя Seaborn как

import seaborn as sns

Однако, когда я делаю это, цвета и форматирование по-прежнему выглядят как простые значения по умолчанию для matlotlib как для сюжета matplotlib, так и для seaborn. Это если команда sns.set() выполняется для принудительного сброса палитры по умолчанию для морского побережья.

Почему это происходит и как это исправить?

Как был установлен seaborn: это происходит в моем Ubuntu 14.04 под управлением Anaconda, хотя seaborn был установлен через pip так как версия Anaconda в системе не поставляется с предустановленной. Я пытался установить Seaborn через conda для обеих моих сред, py27 а также py35, Хотя установка прошла успешно, импорт не работал, поэтому я продолжил pip,

Хотя seaborn работает отлично, обе среды по-прежнему импортируются с одинаковыми неприятными цветами по умолчанию для matplitlib.

1 ответ

Решение

Вы используете Seaborn версии 0.8 или выше. Журнал изменений говорит нам:

Стиль по умолчанию больше не применяется при импорте seaborn. Теперь необходимо явно вызвать set() или один или несколько из set_style(), set_context(), а также set_palette(), Соответственно, модуль seaborn.apionly устарел.

Для этого есть очень веская причина. Ранее, только потому что вы импортировали seaborn, это полностью изменило бы стиль matplotlib, возможно даже перезаписав ранее установленные стили matplotlib. И то, и другое обычно нежелательно.

Как вы сами узнали, нужно позвонить seaborn.set() чтобы получить стиль seaborn по умолчанию или использовать любой другой стиль seaborn.

Вы также можете использовать стили seaborn с matplotlib и вообще не использовать seaborn. Например

import matplotlib.pyplot as plt
plt.style.use("seaborn-darkgrid")

или любой другой стиль из таблицы стилей

Другие вопросы по тегам