Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/python/343.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Python 使用matplotlib释放代码中的内存?_Python_Memory Management_Matplotlib - Fatal编程技术网

Python 使用matplotlib释放代码中的内存?

Python 使用matplotlib释放代码中的内存?,python,memory-management,matplotlib,Python,Memory Management,Matplotlib,嗯,我尝试了很多事情,我几乎确信没有办法解决我的问题。 我来了。。。 我正在用tkinter编写一个简单的软件,在这个软件的一部分,我使用matplotlib和basemaps向用户提供一些地图。 问题是,在这些地图中加载了相对大量的数据,而在某些计算机中,如果用户打开许多地图,则可能会出现问题。 mu代码的一部分(关键部分)是: 通过一些测试,我了解到问题在于python如何管理内存,例如: from pylab import * f = range(1,10000000,1) plot(f)

嗯,我尝试了很多事情,我几乎确信没有办法解决我的问题。 我来了。。。 我正在用tkinter编写一个简单的软件,在这个软件的一部分,我使用matplotlib和basemaps向用户提供一些地图。 问题是,在这些地图中加载了相对大量的数据,而在某些计算机中,如果用户打开许多地图,则可能会出现问题。 mu代码的一部分(关键部分)是:

通过一些测试,我了解到问题在于python如何管理内存,例如:

from pylab import *
f = range(1,10000000,1)
plot(f)
show()
del f ; gc.collect()
如果我将“del f;gc.collect()”行放在第二行(“f=range(110000000,1)”)之后,我会释放一些与删除变量“f”相关的空间,但一旦我绘制了“f”,我就会将matplotlib对象连接到与“f”相关的内存部分,因此我无法释放该部分内存。 对吗?我尝试了cla()、clf()、close(),但这对我没有帮助。 抱歉,如果我做了一些愚蠢的事情,我会用python编程很多东西,但我是一名环境工程师,不是程序员。
非常感谢

pyl.show()之后
add
pyl.close(图号);del fig

如果要嵌入,请不要使用
pyplot
界面。有很多关于艺术家的杂乱无章的内部参考资料。在您的两个示例中,
f
中的所有数据都必须复制到图中的数据结构中。您如何监控内存使用情况?esmit,我在Ubuntu中使用了一个简单的监控工具进行监控。太好了,谢谢!仅供参考,
pyl.close(图)
已足够
from pylab import *
f = range(1,10000000,1)
plot(f)
show()
del f ; gc.collect()