On 2013/03/07 9:50 AM, Giovanni Plantageneto wrote:
> Hi everybody, I am running out of memory while doing something like this:
>
> F= figure()
> AX= F.add_subplot(111)
> MyClass.plot(axes=AX)
> F.show()
>
> MyClass.plot(axes=AX) then does something like this:
> ...
> for i in xrange(100):
>      self.MyOtherClass[i].plot(axes=AX)
> ...
>
> This call finally plots some data, contained in MyOtherClass, onto the
> axes "AX" with the usual command:
>
> AX.plot(x,y)
>
> x and y have order 100 points. When I do this, I quickly run out of
> memory. Am I hitting a "hard" limit, just because I am trying to plot
> too many points (and I am working on kind of an old machine), or am I
> somehow wasting memory by plotting several instances onto the same
> axes? (of course, plotting each (x,y) on a separate figure and then
> closing it would solve the problem, but that is not what I need) Is
> there a way I can reduce the memory footprint of the plot? By
> comparison, the same plot, using Matlab in a similar fashion as
> explained above, can be done without big trouble even if indeed it
> takes up quite some memory.
>
> I hope the issue is clear, unfortunately the code is a bit complex and
> it is not possible to condense it in a few lines.

Are you sure it is the plotting that is gobbling the memory? I don't 
think 100 lines of 100 points should be excessive.  When I do a simple 
test like that, I see about 90 Mb used, and little change after each 
iteration.

You could try putting in calls to matplotlib.cbook.report_memory() to 
see where the increases are occurring.

Eric

>
> Thanks for your feedback.
>
> ------------------------------------------------------------------------------
> Symantec Endpoint Protection 12 positioned as A LEADER in The Forrester
> Wave(TM): Endpoint Security, Q1 2013 and "remains a good choice" in the
> endpoint security space. For insight on selecting the right partner to
> tackle endpoint security challenges, access the full report.
> http://p.sf.net/sfu/symantec-dev2dev
> _______________________________________________
> Matplotlib-users mailing list
> Matplotlib-users@lists.sourceforge.net
> https://lists.sourceforge.net/lists/listinfo/matplotlib-users
>


------------------------------------------------------------------------------
Symantec Endpoint Protection 12 positioned as A LEADER in The Forrester  
Wave(TM): Endpoint Security, Q1 2013 and "remains a good choice" in the  
endpoint security space. For insight on selecting the right partner to 
tackle endpoint security challenges, access the full report. 
http://p.sf.net/sfu/symantec-dev2dev
_______________________________________________
Matplotlib-users mailing list
Matplotlib-users@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/matplotlib-users

Reply via email to