I use pylab.plot(x,y) for exploring or debugging some functions or subroutines.
I would like to cycle through 2 or more plot windows, in a simple way that won’t force me to entangle the code in bothersome ways. But I can’t seem to get more than one plot window to open per launch.
Here is an example of what I want to have happen:
The program calls subroutine A, and creates a plot so that I can see what it has done.
The plot opens, and I see that A is doing what I want, then I close the plot window (I interactively click the close button).
Then the program calls subroutine B, and creates another plot so I can check its results.
The plot opens, I see what I want and close it.
And so on.
But I can’t figure out how to make that work. Only one plot ever shows.
Here is a very minimal example of what I have tried:
import numpy as N
import pylab as P
x = N.linspace(0,6,100)
y = N.sin(x)
P.plot(x,y)
P.show() # At this point, I want to see what I've got, and then move on.
y = -y
P.plot(x,y)
P.show() # This plot will not show.
The answer for me is not to use “subplot()”. I already use that often. But I want these plots to stand on their own, so that I don’t have to entangle the different pieces of code just for some exploratory plotting.
Hi,
I gave a solution just a couple of days ago, I believe the similar
approach could solve this problem also
Essentially, . each time you press a button on graph (not the close
button) you generate an event which would call an update function, you
could farm out work to perform subroutine B here, then replot the
result.
Steve
···
williamolsen@…614…
I
use pylab.plot(x,y) for exploring or debugging some functions or
subroutines.
I would like to cycle through 2 or more plot windows, in a simple way
that won’t force me to entangle the code in bothersome ways. But I
can’t seem to get more than one plot window to open per launch.
Here is an example of what I want to have happen:
The program calls subroutine A, and creates a plot so that I can see
what it has done.
The plot opens, and I see that A is doing what I want, then I close
the plot window (I interactively click the close button).
Then the program calls subroutine B, and creates another plot so I
can check its results.
The plot opens, I see what I want and close it.
And so on.
But I can’t figure out how to make that work. Only one plot ever
shows.
Here is a very minimal example of what I have tried:
import numpy as N
import pylab as P
x = N.linspace(0,6,100)
y = N.sin(x)
P.plot(x,y)
P.show() # At this point, I want to see what I've got, and
then move on.
y = -y
P.plot(x,y)
P.show() # This plot will not show.
The answer for me is not to use “subplot()”. I already use that
often. But I want these plots to stand on their own, so that I don’t
have to entangle the different pieces of code just for some exploratory
plotting.