使用plt保存图片的问题

本文介绍了在Python中遇到的图片保存问题,如坐标轴覆盖和图片模糊,提供了调整大小、dpi设置、figure初始化和最大化显示等解决方案,以及针对矢量图、子图、空白图片和添加基准线的处理方法。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

保存图片失败,坐标轴覆盖

在python项目中,想要使用plt来保存图片,但是横坐标过长,保存图片出现了坐标轴覆盖的问题。但是对图片进行最大化设置后,图片就可以正常显示。检查保存下来的图片,依然为非最大化的图片。

解决方案

需要在保存前,设置图片的大小,从而保存的是设置后的图片内容,具体代码如下

		plt.gcf().set_size_inches(20, 12) # get current figure

保存图片可能会存在图片模糊问题,需要指定图片的dpi大小

		plt.savefig("taskRelaiton.png",dpi=300) 

总结其他可能解决方案

有些需要在建立figure的时候,设置图片大小,本地实测无效,可能与多次使用了plt.show有关,暂不确定,具体代码为

plt.figure(num = 1,figsize=(20, 5))

有些可以在show之前,将图片最大化,下面是两种最大化的方法

		plt.get_current_fig_manager().window.state('zoomed')
		mng = plt.get_current_fig_manager()
		mng.full_screen_toggle()

过程中其他各种问题总结

保存矢量图

可能存在需要保存矢量图的情况,需要指定保存的格式为 svg格式,通过visio打开,即可获得矢量图。但是会丢失部分图片信息。

子图

子图需要通过subplot命令来指定,例如(3,1,1)表示整个图形分为3行一列,选取其中第一个,也就是最上面的那一行

保存图片空白

plt.savefig需要在show之前调用,否则可能会出现画板异常,导致保存为空。

添加基准线

因为需要设置可用资源警戒线,需要在bar图中设置基准线用于直观告知警戒水平

plt.axhline(y=self.__resAviable[keyStr],ls="-",c="red")#添加水平基准线
plt.axvline(y=self.__resAviable[keyStr],ls="-",c="red")#添加垂直建准线

copy

如果使用深度copy,需要使用copy库中的copy.deepcopy()函数,否则其实指向地址一致

评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值