Я делаю точечный график в Matplotlib и мне нужно изменить фон реального графика на черный. Я знаю, как изменить цвет лица на графике, используя:
fig = plt.figure()
fig.patch.set_facecolor('xkcd:mint green')
Моя проблема в том, что это меняет цвет пространства вокруг сюжета. Как изменить реальный цвет фона сюжета?
python
matplotlib
user1764386
источник
источник
ax.patch.set_facecolor('black')
(гдеax
находится экземпляр осей).fig.patch
фон фигуры и фонax.patch
осей.Ответы:
Используйте
set_facecolor(color)
методaxes
объекта , который вы создали одним из следующих способов:Вы создали фигуру и ось вместе
Вы создали фигуру, а затем ось / оси
Вы использовали API с сохранением состояния (если вы делаете что-то больше, чем несколько строк, и особенно если у вас есть несколько графиков, описанные выше объектно-ориентированные методы упрощают жизнь, поскольку вы можете ссылаться на конкретные фигуры, строить графики на определенных осях и настраивать либо)
Тогда вы можете использовать
set_facecolor
:Как освежить, какие цвета могут быть:
источник
MethodNotFound
Один из способов - вручную установить цвет по умолчанию для цвета фона оси в вашем скрипте (см. Настройка matplotlib ):
Это в отличие от метода Ника Т, который меняет цвет фона для конкретного
axes
объекта. Сброс настроек по умолчанию полезен, если вы создаете несколько разных сюжетов с одинаковыми стилями и не хотите постоянно менять разныеaxes
объекты.Примечание: эквивалент для
из вашего вопроса:
источник
Что-то вроде этого? Используйте
axisbg
ключевое слово дляsubplot
:(Конечно, не точечная диаграмма и не черный фон.)
источник
plt.subplot('111', axisbg='black')
перед тем, как создавать команды, используя Windows.axis_bg
axis_bgcolor
были объявлены устаревшими в matplotlib 2.0.0 и удалены в matplotlib 2.2.0Если у вас уже есть
axes
объект, как в ответе Ника Т , вы также можете использоватьисточник
Одним из предложений в других ответах является использование
ax.set_axis_bgcolor("red")
. Это, однако, является устаревшим и не работает на MatPlotLib> = v2.0.Есть также предложение использовать
ax.patch.set_facecolor("red")
(работает как на MatPlotLib v1.5, так и на v2.2). Хотя это работает нормально, еще более простое решение для v2.0 + заключается в использованииax.set_facecolor("red")
источник
ax.set_axis_bgcolor("black")
работает на Python v2.7.14 / MPL v1.5.1, ноax.set_facecolor()
не работает. Где-то между MPL v1.5.1 и v2.2.0 соответствующая функция была переключена.ax.patch.set_facecolor("red")
. Гайка из матплотлиба 2.0 по рекомендованному способу естьax.set_facecolor
.Самое простое, вероятно, предоставить цвет при создании графика:
или
источник
более простой ответ:
источник