По-перше, якщо ви використовуєте savefig
, майте на увазі, що він буде змінювати колір тла фігури при збереженні, якщо не вказано інше (наприклад fig.savefig('blah.png', transparent=True)
).
Однак, щоб видалити фон осей і фігури на екрані, вам потрібно встановити і ax.patch
іfig.patch
бути невидимими.
Напр
import matplotlib.pyplot as plt
fig, ax = plt.subplots()
ax.plot(range(10))
for item in [fig, ax]:
item.patch.set_visible(False)
with open('test.png', 'w') as outfile:
fig.canvas.print_png(outfile)
(Звичайно, ви не можете визначити різницю на білому тлі SO, але все прозоро ...)
Якщо ви не хочете показувати нічого, крім лінії, вимкніть вісь, використовуючи ax.axis('off')
:
import matplotlib.pyplot as plt
fig, ax = plt.subplots()
ax.plot(range(10))
fig.patch.set_visible(False)
ax.axis('off')
with open('test.png', 'w') as outfile:
fig.canvas.print_png(outfile)
Однак у цьому випадку ви, можливо, захочете, щоб оси займали повну фігуру. Якщо ви вручну вказуєте розташування осей, ви можете сказати, щоб він subplots_adjust
мав повну фігуру (поперемінно, ви можете використовувати , але це простіше для випадку з осями).
import matplotlib.pyplot as plt
fig = plt.figure(frameon=False)
ax = fig.add_axes([0, 0, 1, 1])
ax.axis('off')
ax.plot(range(10))
with open('test.png', 'w') as outfile:
fig.canvas.print_png(outfile)
savefig
? (Якщо так, це перевизначає все, що ви встановили, зберігаючи фігуру.) Чиfig.patch.set_visible(False)
працює налаштування вручну ?