Hi,

I am using matplotlib with python to generate a bunch of charts.  I use
IDLE, have numpy version 1.0, and pylab version 2.5 with TkAgg if that is
relavant.  My
code works fine for a single iteration, which creates and saves 4
different charts.  The trouble is that when I try to run it for the
entire set (about 200 items) it can run for 12 items at a time, generating
48 charts.  On the
13th, I get an error from matplotlib that says it can't access data.
However, if I start the program at the point it just failed, it works
fine and will create the charts for the next 12 before failing.  I
assume that I am not closing the files properly somehow or otherwise
misallocating memory.  I tried just reimporting pylab each iteration,
but that didn't help.  This is the function that creates a chart:

#create and save the figure
def CreateFigure(state, facility, unit, SO2, increment, year, P99):
   size = len(SO2)

   #Create Plot
   figure(1, figsize=(10,8))
   bar(range(1, size+2), SO2, width=0.1, color='k')
   grid(True)
   xlim(0,size)
   ylim(0, 1.1*SO2[-1])
   ylabel('SO2 [lb/hr]')
   heading = ConstructFigName(state, facility, unit, increment, year)
   title(heading)

   #set handles
   xticklines = getp(gca(), 'xticklines')
   xgridlines = getp(gca(), 'xgridlines')
   xticklabels = getp(gca(), 'xticklabels')
   yticklines = getp(gca(), 'yticklines')

   #set properties
   setp(xticklines, visible=False)
   setp(xgridlines, visible=False)
   setp(xticklabels, visible=False)
   setp(yticklines, visible=False)

   axhspan(P99, P99, lw=3, ec='r', fc='r')
   ax = gca()
   P99 = '%0.1f' % P99
   text(0.01, 0.95, '99th Percentile: '+P99+' lb/hr',
transform=ax.transAxes)

   figpath = ConstructFigPath(state, facility, unit, increment, year)
   savefig(figpath)
   close()

Can you see the problem? If there is nothing obviously wrong... I tried to
run the memory leak algorithm from the website, but the line:
a2 = os.popen('ps -p %d -o rss,sz' % pid).readlines()
generates an empty list rather than information about about memory, and I am
not clear on how to modify it to do something useful.

thanks,
-Lisa
-------------------------------------------------------------------------
Take Surveys. Earn Cash. Influence the Future of IT
Join SourceForge.net's Techsay panel and you'll get the chance to share your
opinions on IT & business topics through brief surveys - and earn cash
http://www.techsay.com/default.php?page=join.php&p=sourceforge&CID=DEVDEV
_______________________________________________
Matplotlib-devel mailing list
Matplotlib-devel@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/matplotlib-devel

Reply via email to