Ответ 1
Да, вызовите seaborn.reset_orig
.
Я использую морскую версию o.4 и matplotlib версии 1.42 У меня диаграмма отображает как строку, так и маркер через простую команду построения, например.
plt.plot([1,5,3,8,4],'-bo');
Из-за потенциальной ошибки (https://github.com/mwaskom/seaborn/issues/344), после импорта морского судна, тот же код показывает строку только без маркера.
import seaborn as sb
plt.plot([1,5,3,8,4],'-bo');
Итак, мой вопрос: после импортного морского порта, есть ли способ reset вернуть все параметры обратно к оригиналу?
Да, вызовите seaborn.reset_orig
.
Чтобы обновить побочные эффекты конфигурации Matplotlib, часто встречающиеся в Seaborn:
import matplotlib as mpl
import matplotlib.pyplot as plt
import seaborn as sns
Запустите это:
import importlib
importlib.reload(mpl); importlib.reload(plt); importlib.reload(sns)
Для старого кода Python2:
import imp
imp.reload(mpl); imp.reload(plt); imp.reload(sns)
Примечание. Ничто из следующего правильно не восстанавливает состояние matplotlib:
Вы можете сохранить rcParams
, который хотите, перед тем, как изменить стиль с морским дном (обратите внимание, что морское судно больше не изменяет rcParams
при импорте):
import matplotlib as mpl
my_params = mpl.rcParams
# apply some change to the rcparams here
mpl.rcParams.update(my_params)
Обратите внимание, что оба этих
mpl.rcParams.update(mpl.rcParamsOrig)
mpl.rcParams.update(mpl.rcParamsDefault)
восстанавливает почти все rcParams
значения по умолчанию. Немного, что будет отличаться, можно легко просмотреть (я запустил это в Jupyter Notebook):
# Differences between current params and `Default`
for key in mpl.rcParamsDefault:
if not mpl.rcParamsDefault[key] == mpl.rcParams[key]:
print(key, mpl.rcParamsDefault[key], mpl.rcParams[key])
## backend agg module://ipykernel.pylab.backend_inline
## figure.dpi 100.0 72.0
## figure.edgecolor w (1, 1, 1, 0)
## figure.facecolor w (1, 1, 1, 0)
## figure.figsize [6.4, 4.8] [6.0, 4.0]
## figure.subplot.bottom 0.11 0.125
и
# Differences between `Default` and `Orig`
for key in mpl.rcParamsDefault:
if not mpl.rcParamsDefault[key] == mpl.rcParamsOrig[key]:
print(key, mpl.rcParamsDefault[key], mpl.rcParamsOrig[key])
## backend agg Qt5Agg
В моем случае я искал для сброса размеров графика вывода, в частности, когда я изменил с помощью атрибута rc
использовал следующий код для сброса до размера по умолчанию sns.reset_defaults()
(где sns - seaborn).
Ни одно из этих решений не помогло мне (Python 3.x, Jupyter).
То, что сработало, было matplotlib.rc_file_defaults()
Смотрите документацию здесь: https://matplotlib.org/3.1.1/api/matplotlib_configuration_api.html#matplotlib.rc_file_defaults
Можно просто вызвать функцию seaborn.set()
без параметров функции, см. [seaborn tutorial][1]
.