Как отключить xkcd в фигуре matplotlib?

Вы включаете стиль xkcd:

import matplotlib.pyplot as plt plt.xkcd() 

Но как отключить его?

Я попробую:

 self.fig.clf() 

Но это не сработает.

3 Solutions collect form web for “Как отключить xkcd в фигуре matplotlib?”

Я вижу это в документе, это помогает?

 with plt.xkcd(): # This figure will be in XKCD-style fig1 = plt.figure() # ... # This figure will be in regular style fig2 = plt.figure() 

Если нет, вы можете посмотреть код matplotlib.pyplot.xkcd и посмотреть, как они генерируют контекстный менеджер, который позволяет изменять настройки конфигурации

В двух словах, либо используйте диспетчер контекста, как упоминал @Valentin, либо вызовите plt.rcdefaults() после этого.

Что происходит, так это то, что параметры rc изменяются plt.xkcd() (что в основном работает).

plt.xkcd() сохраняет текущие параметры rc возвращает менеджер контекста (так что вы можете использовать оператор with ), который сбрасывает их в конце. Если вы не удержались в менеджере контекста, plt.xkcd() возвращает plt.xkcd() , вы не можете вернуться к тем же параметрам rc которые у вас были до этого.

Другими словами, допустим, вы сделали что-то вроде plt.rc('lines', linewidth=2, color='r') перед вызовом plt.xkcd() . Если вы не сделали with plt.xkcd(): или manager = plt.xkcd() , то состояние rcParams после вызова plt.rc будет потеряно.

Однако вы можете вернуться к стандартным rcParams , вызвав plt.rcdefaults() . Вы просто не сохраните никаких конкретных изменений, которые вы сделали до вызова plt.xkcd() .

Вы можете попробовать

 manager = plt.xkcd() # my xkcd plot here mpl.rcParams.update(manager._rcparams) 

это должно сбросить предыдущее состояние, эмулируя диспетчер контекста. Очевидно, что у него есть не все функции для менеджера контекста, например, сброс в случае исключений и т. Д.

Или, без стычки с внутренними компонентами менеджера контекста

 saved_state = mpl.rcParams.copy() mpl.xkcd() # my xkcd plot here mpl.rcParams.update(saved_state) 
  • Обратная ось Z на графике 3D-графика matplotlib
  • Как изменить размер шрифта оси в графике matplotlib при рендеринге с использованием Latex?
  • Создайте граф из файла CSV и отрисуйте в браузер с помощью Django и библиотеки Pandas Python
  • Создание pyplot.hist () первого и последнего бункеров включает выбросы
  • Как установить поля для фигуры matplotlib?
  • Как создать групповые подсети в Пандах?
  • Разложим решение системы линейных неравенств
  • Как построить рамку данных pandas с помощью andrew_curves?
  • Как построить несколько гистограмм на одном и том же участке с морским коньком
  • Matplotlib backend_tkagg TclError
  • _tkinter.TclError: нет отображаемого имени и нет переменной окружения $ DISPLAY
  • Python - лучший язык программирования в мире.