从matplotlib图中删除边距

时间:2016-03-24 15:12:51

标签: numpy matplotlib

我想在imshow中使用matplotlib绘制NumPy数组并将其另存为JPEG图像。但是,我无法从图像中删除边距/填充/边框。

我的代码:

plt.imshow(np.arange(20).reshape(5,4)) ;
plt.axis('off')
plt.savefig('test.jpg', bbox_inches='tight', pad_inches=0, facecolor='black')

我已经遵循了Stackoverflow上可以找到的所有建议,但是没有一个可以帮助去除不均匀的白色边框(我在下图中将它们变成黑色),如下所示:

enter image description here

2 个答案:

答案 0 :(得分:0)

设置pad_inches = -1为我解决了这个问题(保存为png)。

我怀疑pad_inches = 0被解释为" falsey"并忽略了

答案 1 :(得分:0)

正如本回答中所述:https://stackoverflow.com/a/26610602/265289,同样重要的是要打电话:

fig.axes.get_xaxis().set_visible(False)
fig.axes.get_yaxis().set_visible(False)

pad_inches=0一起。这将删除图像左侧和底部的额外空间。