当前位置:   article > 正文

使用plt保存图片的问题

plt保存图片

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

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

解决方案

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

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

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

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

总结其他可能解决方案

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

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

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

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

过程中其他各种问题总结

保存矢量图

可能存在需要保存矢量图的情况,需要指定保存的格式为 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")#添加垂直建准线
  • 1
  • 2

copy

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

声明:本文内容由网友自发贡献,不代表【wpsshop博客】立场,版权归原作者所有,本站不承担相应法律责任。如您发现有侵权的内容,请联系我们。转载请注明出处:https://www.wpsshop.cn/w/繁依Fanyi0/article/detail/831780
推荐阅读
相关标签
  

闽ICP备14008679号