matplotlib Plt.show显示完整的图形,但savefig正在裁剪图像

kiayqfof  于 2023-11-22  发布在  其他
关注(0)|答案(4)|浏览(108)

我的代码成功地将图像保存到文件中,但是它从右侧裁剪了重要的细节。Answers可以在plt.show出现这个问题时修复这个问题,但是在这个例子中,是savefig命令错误地生成了图形。如何修复这个问题?
我的代码的相关示例:

import glob
import os
for file in glob.glob("*.oax"):
    try:
        spc_file = open(file, 'r').read()
        newName = file[6:8] + '-' + file[4:6] + '-' + file[0:4] + ' ' + file[8:12] +  ' UTC (Observed) - No Sea Breeze Day'
        plt.title(newName, fontsize=12, loc='left')
        plt.savefig('X:/' + newName + '.png')        
        plt.show()
    except Exception:
        pass

字符串
图像(顶部是plt.show,底部是从savefig生成的文件:
100d1x

的字符串

3zwjbxry

3zwjbxry1#

你可能尝试了

plt.savefig('X:/' + newName + '.png', bbox_inches='tight')

字符串
或者你可以定义身材大小,

fig = plt.figure(figsize=(9, 11))
...
plt.savefig(filename, bbox_inches = 'tight')

z31licg0

z31licg02#

documentation中所述,您也可以尝试:

plt.tight_layout()

字符串

5cg8jx4n

5cg8jx4n3#

另一个非常简单的解决方案是将图保存为 .pdf 格式。当bbox_inches = 'tight'plt.tight_layout()没有帮助时,这对我来说已经工作了很多次。
这只是:

plt.savefig('X:/' + newName + '.pdf')

字符串

c2e8gylq

c2e8gylq4#

我有同样的问题,没有一个答案可以帮助我.保存为PDF的情节保存整个图形,包括轴标签,但我不能插入到Word的PDF.最后,它为我工作,通过保存为SVG的情节.整个图形保存,然后我能够插入到Word.保存为SVG的代码:plt.savefig('my_plot.svg', format='svg')

相关问题