Python Matplotlib не показывает цвет лица фигуры при сохранении фигуры / графика - PullRequest
0 голосов
/ 04 апреля 2020

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

import matplotlib.pyplot as plt

fig = plt.figure()

fig.patch.set_facecolor('black')
plt.title("test")
ax = plt.gca()
ax.patch.set_facecolor('black')
fig.patch.set_facecolor('xkcd:mint green')

plt.show()

Вот скриншот того, что показано, и это результат, который я ожидаю.

Correct output

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

enter image description here

Код для воспроизведения изображения выше

import matplotlib.pyplot as plt

fig = plt.figure()

fig.patch.set_facecolor('black')
plt.title("test")
ax = plt.gca()
ax.patch.set_facecolor('black')
fig.patch.set_facecolor('xkcd:mint green')

# Also doesn't work with fig.savefig
plt.savefig("test.png", dpi=200)

1 Ответ

0 голосов
/ 04 апреля 2020

@ Йохан C указал в комментариях, что требуется аргумент цвета лица.

Фиксированный код

import matplotlib.pyplot as plt

fig = plt.figure()

fig.patch.set_facecolor('black')
plt.title("test")
ax = plt.gca()
ax.patch.set_facecolor('black')

# Also doesn't work with fig.savefig
plt.savefig("test.png", facecolor='xkcd:mint green', dpi=200)
...