Как установить непрозрачность цвета фона графика с помощью Matplotlib - PullRequest
57 голосов
/ 03 января 2011

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

1 Ответ

94 голосов
/ 17 января 2011

Если вы хотите, чтобы весь фон для фигуры и осей был прозрачным, вы можете просто указать transparent=True при сохранении фигуры с помощью fig.savefig.

Например:

import matplotlib.pyplot as plt
fig = plt.figure()
plt.plot(range(10))
fig.savefig('temp.png', transparent=True)

Если вы хотите более детальный контроль, вы можете просто установить цвет лица и / или альфа-значения для фонового патча фигуры и осей.(Чтобы сделать патч полностью прозрачным, мы можем либо установить альфа на 0, либо установить цвет лица на 'none' (как строку, а не объект None!))

например:

import matplotlib.pyplot as plt

fig = plt.figure()

fig.patch.set_facecolor('blue')
fig.patch.set_alpha(0.7)

ax = fig.add_subplot(111)

ax.plot(range(10))

ax.patch.set_facecolor('red')
ax.patch.set_alpha(0.5)

# If we don't specify the edgecolor and facecolor for the figure when
# saving with savefig, it will override the value we set earlier!
fig.savefig('temp.png', facecolor=fig.get_facecolor(), edgecolor='none')

plt.show()

alt text

...