matplotlib使⽤plt.savefig()输出图⽚去除旁边的空⽩区
最近在作图时需要将输出的图⽚紧密排布,还要去掉坐标轴,同时设置输出图⽚⼤⼩。
要让程序⾃动将图表保存到⽂件中,代码为:
plt.savefig('squares_plot.png', bbox_inches='tight')
第⼀个实参指定要以什么样的⽂件名保存图表,这个⽂件将存储到scatter_squares.py所在的⽬录中。
第⼆个实参指定将图表多余的空⽩区域裁减掉。如果要保留图表周围多余的空⽩区域,可省略这个实参。
但是发现matplotlib使⽤plt.savefig()保存的图⽚
周围有⼀圈空⽩。那么如何去掉该空⽩呢?
⾸先,关闭坐标轴显⽰:
plt.axis('off')
但是,这样只是关闭显⽰⽽已,透明的坐标轴仍然会占据左下⾓位置,导致输出的图⽚偏右。
要想完全去掉坐标轴,需要改为以下代码:
plt.axis('off')
fig = f()
fig.set_size_inches(7.0/3,7.0/3) #dpi = 300, output = 700*700 pixels
matplotlib中subplot
plt.subplots_adjust(top = 1, bottom = 0, right = 1, left = 0, hspace = 0, wspace = 0)
plt.margins(0,0)
fig.savefig(out_png_path, format='png', transparent=True, dpi=300, pad_inches = 0)
即可完成去掉空⽩。
注:如果不采⽤ subplot_adjust + margin(0,0),⽽是在fig.savefig()的参数中添加bbox_inches = 'tight',也可以达到
去除空⽩的效果;但是,这样会导致对图⽚输出⼤⼩的设置失效。
到此这篇关于matplotlib 使⽤ plt.savefig() 输出图⽚去除旁边的空⽩区域的⽂章就介绍到这了,更多相关matplotlib plt.savefig()内容请搜索以前的⽂章或继续浏览下⾯的相关⽂章希望⼤家以后多多⽀持!

版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系QQ:729038198,我们将在24小时内删除。