Matplotlib:摆脱白色边界

时间:2019-07-25 18:52:54

标签: matplotlib imshow

当我将图像保存到python中的png时,我想摆脱白色边框。

我尝试了plt.box(on=None)plt.axis('off')。我尝试将图形的'frameon'参数设置为false。

import matplotlib.pyplot as plt 
from matplotlib.pyplot import figure


figure(num=None, figsize=(7.965,7.965), dpi=80,facecolor='none',clear=True)
plt.box(on=None)
plt.axis('off')
plt.imshow(Data, cmap='Greys_r', norm=Norm,origin='lower',aspect='auto',interpolation='nearest')

plt.savefig(locationFITSfolder+fitsFile[:-5],transparent=False,bbox=False)

我希望图像上没有白色边框。透明的。

1 个答案:

答案 0 :(得分:0)

如果将参数更改为savefig函数,则将获得所需的输出。

具体来说,您必须使用transparent=True。请注意,bbox=Falseframeon=False是可选的,它们仅更改图像周围透明空间的宽度。

根据您的示例代码进行调整:

import matplotlib.pyplot as plt 
from matplotlib.pyplot import figure

#create sample data
import numpy as np
Data = np.random.random([4,4])


figure(num=None, figsize=(7.965,7.965), dpi=80,facecolor='none',clear=True)
plt.box(on=None)
plt.axis('off')
plt.imshow(Data, cmap='Greys_r',origin='lower',aspect='auto',interpolation='nearest')

plt.savefig(locationFITSfolder+fitsFile[:-5],transparent=True)

(旁注-您可能希望将os.path.join 、. split和.splitext用于文件I / O,而不是切片字符串名称)

这将产生预期的图像输出:test image(请注意,当您在新标签页中打开或下载图像时,该图像具有透明边框)。

相关问题