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

在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()函数,否则其实指向地址一致

Logo

为开发者提供学习成长、分享交流、生态实践、资源工具等服务,帮助开发者快速成长。

更多推荐