Как установить цвет фона сюжета в Matplotlib
set_facecolor (color)
объекта axes
устанавливает фон или, другими словами, цвет лица соответствующего графика.
Установить цвет фона конкретного участка
Нам нужно получить объект axes
перед вызовом метода set_facecolor()
.
1. Matlab-alike stateful API
plt.plot(x, y)
ax = plt.gca()
Полные примеры кодов:
import matplotlib.pyplot as plt
plt.plot(range(5), range(5, 10))
ax = plt.gca()
ax.set_facecolor('m')
plt.show()
2. Создать рисунок и ось в объектно-ориентированном методе
Объекты figure
и axes
могут быть созданы вместе,
fig, ax = plt.subplots()
Или сначала создайте figure
, а затем инициируйте axes
.
fig = plt.figure()
ax = fig.add_subplot(1, 1, 1)
Полные примеры кодов:
import matplotlib.pyplot as plt
fig, ax = plt.subplots(1)
ax.plot(range(5), range(5, 10))
ax.set_facecolor('m')
plt.show()
Или,
import matplotlib.pyplot as plt
fig = plt.figure()
ax = fig.add_subplot(1, 1, 1)
ax.plot(range(5), range(5, 10))
ax.set_facecolor('m')
plt.show()
Установить цвет фона по умолчанию для нескольких участков
Если нам нужно установить цвет фона по умолчанию для нескольких участков, мы можем установить свойство axes.facecolor
в объекте rcParams
.
plt.rcParams['axes.facecolor'] = color
Полные примеры кодов:
import matplotlib.pyplot as plt
plt.rcParams['axes.facecolor'] = 'm'
plt.subplot(1,2, 1)
plt.plot(range(5), range(5, 10))
plt.subplot(1,2, 2)
plt.plot(range(5), range(10, 5, -1))
plt.show()
Как видите, цвет фона двух графиков одинаков.