multiple figures interactively

Folks, I need your help. I'll explain a little further what happens.
Following is a test program,'test.py', and screen shot of the error
message. Here, 'test.py' is simple chart of sinusoidal function in
http://matplotlib.sourceforge.net/screenshots.html (simple_plot.py), but
have two of them in series. I tried Wolfgang's suggestion but it doesn't
help. Any idea?

Test.py:

from pylab import *

t = arange(0.0, 2.0, 0.01)
s = sin(2*pi*t)
plot(t, s, linewidth=1.0)

xlabel('time (s)')
ylabel('voltage (mV)')
title('About as simple as it gets, folks')
grid(True)
show()

clf()
t = arange(0.0, 2.0, 0.01)
s = sin(2*pi*t)
plot(t, s, linewidth=1.0)

xlabel('time (s)')
ylabel('voltage (mV)')
title('About as simple as it gets, folks')
grid(True)
show()

Execution of test.py:

c:\Python24>python test.py
c:\Python24\lib\site-packages\matplotlib\numerix\__init__.py:53:
DeprecationWarn
ing: numarray use as a numerix backed for matplotlib is deprecated
  DeprecationWarning, stacklevel=1)
Fatal Python error: PyEval_RestoreThread: NULL tstate

This application has requested the Runtime to terminate it in an unusual
way.
Please contact the application's support team for more information.

c:\Python24>

···

-----Original Message-----
From: Wolfgang Kerzendorf [mailto:wkerzendorf@…982…]
Sent: Wednesday, September 26, 2007 9:03 PM
To: Lee, Young-Jin
Cc: matplotlib-users@lists.sourceforge.net
Subject: Re: [Matplotlib-users] multiple figures interactively

This might help you it destroys the whole window:
pylab.get_current_fig_manager().destroy()
and then you open it again with show
Lee, Young-Jin wrote:

Hi,

I 'm writing a python program that draws figures one by one
interactively with the user's input in dos mode. Basically, I give the

program a decision after each figure and then it draws the next one.
After the first figure, it got very much slowed down for the second
one and crashed for the third one. I feel like it has some memory
issues as I keep using 'show' after I close each. I used 'clf()'
before I draw a new one, but it doesn't seem to help. Any idea?

Thanks.

Young Jin

------------------------------------------------------------------------

------------------------------------------------------------------------
-

This SF.net email is sponsored by: Microsoft
Defy all challenges. Microsoft(R) Visual Studio 2005.
http://clk.atdmt.com/MRT/go/vse0120000070mrt/direct/01/

------------------------------------------------------------------------

_______________________________________________
Matplotlib-users mailing list
Matplotlib-users@lists.sourceforge.net
matplotlib-users List Signup and Options

Lee, Young-Jin wrote:

Folks, I need your help. I'll explain a little further what happens.
Following is a test program,'test.py', and screen shot of the error
message. Here, 'test.py' is simple chart of sinusoidal function in
http://matplotlib.sourceforge.net/screenshots.html (simple_plot.py), but
have two of them in series. I tried Wolfgang's suggestion but it doesn't
help. Any idea?

Test.py:

from pylab import *

t = arange(0.0, 2.0, 0.01)
s = sin(2*pi*t)
plot(t, s, linewidth=1.0)

xlabel('time (s)')
ylabel('voltage (mV)')
title('About as simple as it gets, folks')
grid(True)
show()

clf()
t = arange(0.0, 2.0, 0.01)
s = sin(2*pi*t)
plot(t, s, linewidth=1.0)

xlabel('time (s)')
ylabel('voltage (mV)')
title('About as simple as it gets, folks')
grid(True)
show()
  
Young-Jin:

You can't have two "show()"s in one script. Comment out the first one, and replace the "clf()" with "figure()" and all is well.

Or, use "draw()".

See http://matplotlib.sourceforge.net/faq.html#SHOW for details.

-Jeff

···

Execution of test.py:

c:\Python24>python test.py
c:\Python24\lib\site-packages\matplotlib\numerix\__init__.py:53:
DeprecationWarn
ing: numarray use as a numerix backed for matplotlib is deprecated
  DeprecationWarning, stacklevel=1)
Fatal Python error: PyEval_RestoreThread: NULL tstate

This application has requested the Runtime to terminate it in an unusual
way.
Please contact the application's support team for more information.

c:\Python24>

-----Original Message-----
From: Wolfgang Kerzendorf [mailto:wkerzendorf@…982…] Sent: Wednesday, September 26, 2007 9:03 PM
To: Lee, Young-Jin
Cc: matplotlib-users@lists.sourceforge.net
Subject: Re: [Matplotlib-users] multiple figures interactively

This might help you it destroys the whole window:
pylab.get_current_fig_manager().destroy()
and then you open it again with show
Lee, Young-Jin wrote:
  

Hi,

I 'm writing a python program that draws figures one by one interactively with the user's input in dos mode. Basically, I give the
    
program a decision after each figure and then it draws the next one. After the first figure, it got very much slowed down for the second one and crashed for the third one. I feel like it has some memory issues as I keep using 'show' after I close each. I used 'clf()' before I draw a new one, but it doesn't seem to help. Any idea?
    

Thanks.
  

Young Jin

--
Jeffrey S. Whitaker Phone : (303)497-6313
Meteorologist FAX : (303)497-6449
NOAA/OAR/PSD R/PSD1 Email : Jeffrey.S.Whitaker@...259...
325 Broadway Office : Skaggs Research Cntr 1D-124
Boulder, CO, USA 80303-3328 Web : Jeffrey S. Whitaker: NOAA Physical Sciences Laboratory