Как изменить цвет фона?

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

fig = plt.figure() fig.patch.set_facecolor('black') 

Моя проблема заключается в том, что это меняет цвет пространства вокруг сюжета. Как изменить фактический цвет фона сюжета?

5 Solutions collect form web for “Как изменить цвет фона?”

Если у вас уже есть объект axes , например, если вы использовали f, ax = plt.subplot() или plt.subplots() , или можете просто получить текущие оси с помощью ax = plt.gca() , вы можете напрямую использовать его метод, set_facecolor :

 ax.set_facecolor('red') ax.set_facecolor((1, 0, 0)) 

Что-то вроде этого? Используйте ключевое слово axisbg для subplot :

 >>> from matplotlib.figure import Figure >>> from matplotlib.backends.backend_agg import FigureCanvasAgg as FigureCanvas >>> figure = Figure() >>> canvas = FigureCanvas(figure) >>> axes = figure.add_subplot(1, 1, 1, axisbg='red') >>> axes.plot([1,2,3]) [<matplotlib.lines.Line2D object at 0x2827e50>] >>> canvas.print_figure('red-bg.png') 

(Конечно, не разброс, а не черный фон.)

введите описание изображения здесь

Если у вас уже есть объект axes , как и в ответе Nick T , вы также можете использовать

  ax.patch.set_facecolor('black') 

Один из методов заключается в том, чтобы вручную установить значение по умолчанию для цвета фона оси в вашем скрипте (см. Настройка matplotlib ):

 import matplotlib.pyplot as plt plt.rcParams['axes.facecolor'] = 'black' 

Это контрастирует с методом Nick T, который изменяет цвет фона для конкретного объекта axes . Сброс настроек по умолчанию полезен, если вы создаете несколько разных графиков со схожими стилями и не хотите изменять разные объекты axes .

Примечание: эквивалент для

 fig = plt.figure() fig.patch.set_facecolor('black') 

от вашего вопроса:

 plt.rcParams['figure.facecolor'] = 'black' 

Одно из предложений в других ответах – использовать ax.set_axis_bgcolor("red") . Однако это обесценивается.

Также предлагается использовать ax.patch.set_facecolor("red") . Хотя это прекрасно работает, еще более простым решением является использование

ax.set_facecolor("red")

  • Осевая линия с меткой оси в matplotlib
  • Библиотеки шрифтов Python
  • ошибка python: ни один модуль с именем pylab
  • интерактивный matplotlib через eclipse
  • Версия Matplotlib
  • Почему изображение хранится не так, как показано?
  • Пометить конкретный бар в гистограмме с помощью python
  • Как показать массив numpy NxM с dtype = float как изображение в виде простого серого?
  • как построить линии тока, когда я знаю u и v компоненты скорости (numpy 2d массивы), используя программу построения графиков в python?
  • plt.show () делает зависание терминала
  • изменить силу сглаживания в matplotlib
  • Python - лучший язык программирования в мире.