Pertama, jika Anda menggunakan savefig
, ketahuilah bahwa itu akan menimpa warna latar belakang gambar saat menyimpan kecuali Anda menentukan sebaliknya (misalnya fig.savefig('blah.png', transparent=True)
).
Namun, untuk menghapus latar belakang sumbu dan gambar di layar, Anda harus mengatur keduanya ax.patch
dan fig.patch
tidak terlihat.
Misalnya
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)
(Tentu saja, Anda tidak bisa membedakan antara latar belakang putih SO, tetapi semuanya transparan ...)
Jika Anda tidak ingin menampilkan selain garis, matikan juga poros menggunakan 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)
Namun, dalam hal itu, Anda mungkin ingin membuat sumbu mengambil angka penuh. Jika Anda secara manual menentukan lokasi sumbu, Anda dapat memerintahkannya untuk mengambil gambar lengkap (secara bergantian, Anda dapat menggunakan subplots_adjust
, tetapi ini lebih sederhana untuk kasus sumbu tunggal).
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
? (Jika demikian, itu menimpa apa pun yang Anda atur saat menyimpan angka.) Apakah pengaturan secara manualfig.patch.set_visible(False)
berfungsi?