Re: [Matplotlib-users] tooltips in matplotlib?

2006-09-11 Thread Ken McIvor
On Sep 11, 2006, at 5:28 PM, Martin Spacek wrote:

 I'd like to be able to pop up a tooltip on, say, a matplotlib
 'motion_notify_event', or maybe just a 'button_press_event'. Does MPL
 have the ability to control tooltips, or do I have to drop down to the
 specific backend to do that (wxagg in my case).

I don't think there's a backend-level API for drawing tooltips.

 If the latter, anyone know off the top of their head how to do this in
 wxagg?

Unfortunately, I don't think wxWidgets exposes the functionality for  
displaying a wx.ToolTip.  You might be able to fake it with a  
wx.PopupWindow.

Ken

-
Using Tomcat but need to do more? Need to support web services, security?
Get stuff done quickly with pre-integrated technology to make your job easier
Download IBM WebSphere Application Server v.1.0.1 based on Apache Geronimo
http://sel.as-us.falkag.net/sel?cmd=lnkkid=120709bid=263057dat=121642
___
Matplotlib-users mailing list
Matplotlib-users@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/matplotlib-users


Re: [Matplotlib-users] waiting on a point

2006-09-19 Thread Ken McIvor
On 09/19/06 15:22, John Hunter wrote:
Kenny == Kenny Ortmann [EMAIL PROTECTED] writes:
 
 Kenny I'm writing a program with a graph.  You have to select
 Kenny segments of the graph, which requires 2 points.

 Kenny working with widgets is new to me and im used to working
 Kenny with while loops and what not.  I've been just checking to
 Kenny see if i have 0 or 1 points in the on_point wxmpl code, and
 Kenny then if i have 1 and the next point is good opening a
 Kenny dialog to ask and then resetting number of pionts to 0.
 
 Kenny anyone have any better ideas of how to do this? the amount
 Kenny of global/self.points variables is driving me nuts
 
 If you want to select a horizontal or vertical region of the graph,
 eg, xmin, xmax, the SpanSelector widget is your friend. 

Although there isn't a wxmpl event for measuring only horizontal or vertical 
regions, you can use the wxmpl.EVT_SELECTION event to pick a rectangular 
region.  For an example of how that works, you can look at 
`demos/picking_points.py' in the wxmpl source distribution.

Without knowing more about the application it's hard to recommend what to do 
to improve things.  Perhaps you could add a button to the wxPython application 
that enables selection, so that the user clicks it and then picks the area of 
the plot to apply the function to?  You could also subclass wxmpl.PlotPanel, 
add some basic support for the two-point selections, and then reuse that code 
in your application.

 I believe recent versions of the wxmpl code worth with mpl events and
 widgets, but I haven't tested this.

Although it is possible to modify `wxmpl.py' to emit mpl events, I'm afraid 
that wxmpl still doesn't support mpl events or widgets out-of-the-box. 
There's still too much that can break if the two event-handling systems are 
incorrectly mixed in an application.

Ken

-
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.phpp=sourceforgeCID=DEVDEV
___
Matplotlib-users mailing list
Matplotlib-users@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/matplotlib-users


Re: [Matplotlib-users] pylab crashes python

2007-01-25 Thread Ken McIvor
Jan,

What versions of wxPython and matplotlib are you using?

Ken

-
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.phpp=sourceforgeCID=DEVDEV
___
Matplotlib-users mailing list
Matplotlib-users@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/matplotlib-users


Re: [Matplotlib-users] ANN: matplotlib-0.90.0

2007-02-21 Thread Ken McIvor
On Feb 21, 2007, at 1:58 PM, Christopher Barker wrote:
 Werner F. Bruhin wrote:

 Is there a list of what the problems are?

 One is that it won't build, due to a code error in the extension -- I
 don't know why that same error didn't cause a problem with earlier
 versions of wxPython.

The WXAgg backend itself should still function without _wxagg.so,  
which exists slowly to speed up the Agg/wx.Image/wx.Bitmap tango.  I  
tried to get it up and running on OSX with wxPython 2.8 earlier today  
but was quickly stymied by an inscrutable problem with  
wxPyConstructObject().  Since I'd like to start moving away from  
using a C++ extension in the backend, I'm going to try to re- 
implement its functionality using the new wx.BitmapFromBufferRGBA().

 The other I know about is some oddities with the toolbar on OS-X -- I
 think those are OS-X only issues.

Once I have the WXAgg accelerator straightened out, I'll see if I can  
reproduce and fix this problem.

Ken

-
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.phpp=sourceforgeCID=DEVDEV
___
Matplotlib-users mailing list
Matplotlib-users@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/matplotlib-users


Re: [Matplotlib-users] what version of wxpython to use???

2007-02-22 Thread Ken McIvor
On Feb 22, 2007, at 3:30 AM, Werner F. Bruhin wrote:
 Jeff Peery wrote:

 hello, I am having some difficulty. I just upgraded to matplotlib  
 0.9,
 wxpython 2.7.2, and python 2.5.

I could be mistaken, but my understanding is that the odd versions of  
wxWidgets and wxPython are development versions.  You should consider  
moving to version 2.6, although 2.8 ought to work if you don't mind  
helping us work the kinks out.

 Aren't there some conflicts between IDLE and wxPython?

I think there are if you try to run your wxPython application from  
within IDLE.  IPython might be an alternative for interactive  
testing, etc.

Ken



-
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.phpp=sourceforgeCID=DEVDEV
___
Matplotlib-users mailing list
Matplotlib-users@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/matplotlib-users


Re: [Matplotlib-users] what version of wxpython to use???

2007-02-22 Thread Ken McIvor
On Feb 22, 2007, at 10:39 AM, Jeff Peery wrote:

 So it works ok when I execute my wxApp from boa, but it acts  
 strange then locks up when I run it from the IDLE???

Yep.  It's a result of the way programs like Boa and IDLE are  
written.  In general, you can't mix and match GUI libraries (e.g.  
wxPython and Tkinter) without heroic measures.

 Since I'm using matplotlib and wxpython, should I be using  
 wxpython2.6? If so where can I get teh wxpython2.6 windows  
 installer? I looked at sourceforge and the oldest version is 2.7.

Right now you'll probably be happiest using 2.6.  You can download  
the win32 installer from http://www.wxpython.org/download.php

Hopefully the 0.91 release will include some improvements I'm working  
on, but haven't committed yet.  At that point wxPython 2.8 will  
(hopefully) become the best choice for win32.

 thanks again for teh help!

You are teh welcome!

Ken

-
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.phpp=sourceforgeCID=DEVDEV
___
Matplotlib-users mailing list
Matplotlib-users@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/matplotlib-users


Re: [Matplotlib-users] [mailinglist] Re: Nonlinear colormap ?

2007-03-09 Thread Ken McIvor
On Mar 9, 2007, at 5:11 AM, Uwe Schmitt wrote:

 Thanks, but I can not access this article from the mailing lists  
 archive.
 On sourceforge the newest posting is from 23th feb.

I'm not sure what the problem with SourceForge is.  I'll forward you  
that email off-list.

Ken


-
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.phpp=sourceforgeCID=DEVDEV
___
Matplotlib-users mailing list
Matplotlib-users@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/matplotlib-users


Re: [Matplotlib-users] source install question: WXAgg's accelerator requires the wxPython headers.

2007-03-16 Thread Ken McIvor
On Mar 16, 2007, at 10:57 AM, Andrew Straw wrote:

 Dear Ryan, I think you want libwxgtk2.6-dev

Unfortunately, the wxPython Debian package and its Ubuntu cousin do  
not include the wxPython headers.  This is an issue that I looked  
into a while ago, but was unable to get resolved.

That being said, you have three options for moving forward:

1. Just ignore the message.  Unless you're doing animation you  
probably won't be hurting for speed.

2. Grab the wxPython headers from source and install them in `/usr/ 
include/wx/wxPython'.  I believe that John Hunter has been doing this  
for some time now, so he might be able to help you if there are any  
caveats that I've forgotten.

3. Upgrade to wxPython 2.8 and the svn version of matplotlib.  I've  
written a version of the accelerator in pure Python that moves at a  
pretty good clip but requires functionality that is only present in  
wxPython 2.8.

Ken

-
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.phpp=sourceforgeCID=DEVDEV
___
Matplotlib-users mailing list
Matplotlib-users@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/matplotlib-users


Re: [Matplotlib-users] source install question: WXAgg's accelerator requires the wxPython headers.

2007-03-16 Thread Ken McIvor
Ryan,

I found the 2.6 sources:

http://wxpython.sourceforge.net/download-2.6.3.3.php

Ken

-
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.phpp=sourceforgeCID=DEVDEV
___
Matplotlib-users mailing list
Matplotlib-users@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/matplotlib-users


Re: [Matplotlib-users] pylab vs. embedding in wx

2007-03-19 Thread Ken McIvor
Ryan,

In my (limited) experience, it's dicey to mix pylab's plotting  
functionality and the OO API.  I guess I'm a little unclear exactly  
what your use case is for this.  It sounds like you're goal is to  
create a library of functions that operate on Figure instances,  
perhaps so you can use them both interactively and as part of a  
wxPython application.

If that's the case, I'd recommend you try using pylab's gcf() and draw 
() to acquire and redraw the current Figure instance from within  
IPython.  You can also save the return value of pylab's figure(),  
which returns a Figure that's already been attached to the  
appropriate renderer.  This way you can use the OO API for plotting  
without having to futz with the drawing machinery directly.

This script might give you some ideas about how to structure your  
code.  It contains several of the MPL examples re-coded as functions  
that accept a Figure instance and use the OO API for plotting.

http://svn.csrri.iit.edu/mr-software/wxmpl/trunk/demos/plotting.py

Ken

-
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.phpp=sourceforgeCID=DEVDEV
___
Matplotlib-users mailing list
Matplotlib-users@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/matplotlib-users


Re: [Matplotlib-users] creating live plot (update while data is arriving)

2007-03-28 Thread Ken McIvor
On Mar 27, 2007, at 12:35 PM, Antonino Ingargiola wrote:

 I'm searching to display in realtime some data read serial port. The
 data is a 2D matrix and is read element wise from the serial, one
 pixel each one (or more) seconds.

You shouldn't have any problems making this happen, although it  
requires a lot more legwork than creating normal interactive plots.

 I'm running the script from ipython -pylab using the command run
 scriptname. After loading the script I interactively launch the
 function that start the data acquisition and I would like to see the
 acquired data so far.

I've never tried to do something like this using pylab before, so I  
probably can't be of much help there.  However, I can point you  
toward an example of how to do it from within wxPython using a timer.

 In the loop that perform the data acquisition I'm currently calling  
 this function to plot data:

 def plot_data_in_itinere(data, **kwargs):
global first_plot
d = data.ravel()[find(data.ravel()  0)]
m = d.mean()
vr = round(5*d.std() / m, 3)
#clf()
title('Scanning Data')
xlabel('Mean Value: '+str(int(round(m)))+' -- Relative  
 Variation: '+str(vr))
b,t = ylim()
ylim(t,b)
imshow(data.astype(float),
interpolation='nearest',
vmin=0,
origin='lower', **kwargs)
if first_plot:
colorbar()
first_plot = False

 However the call to the function is blocking. So the acquisition
 time is longer (not only I have to wait the data but I have to wait
 the plot too).

You should probably do the acquisition asynchronously by running it  
in a separate thread.  That thread would read in the data one point  
at a time, perform any pre-processing, and post the results to a  
place that's shared between it and the main plotting thread.  The  
main thread would periodically check and see if the shared data has  
changed and redraw the plot if needed.  I'm not sure how hard this is  
to do in a reasonable way in pylab, but I've used this approach  
before in wxPython GUIs.

 Furthermore, this function plot the new data above the
 old one, so the plot becomes slower and slower while the acquisition
 goes on. If I uncommented the cla() line, I get a plot that is blank
 most of the time and that shows the data only for a fraction of second
 while the new plot is performed.
`
You might want to consider create a mock data source that generates a  
stream of values from some pre-collected data or Python's random  
module.  That would let you work on debugging the plotting end of  
things first.  It would also make it easier for you to share your  
code with the list.

 Is there a way to update (or substitute) the current showed matrix
 data, deleting the old plots (in the axis). I have to confess that
 I've have not understand well how the pylab interactive mode works.

pylab.imshow() returns a matplotlib.image.AxesImage object.  It looks  
like you can update the data array using its set_data() method.  The  
class documentation is available on the matplotlib website:

http://matplotlib.sourceforge.net/matplotlib.image.html#AxesImage

 Ideally the plot should be performed in background, while the script
 goes on and wait the next data arrival.

You'd almost certainly be happier doing things the other way around.   
Most GUI toolkits are extremely fussy about what thread the GUI event  
loop runs in.  For example, wxPython requires App.MainLoop() be  
called from the thread that first imported the wxPython module.  That  
being said, it's possible to run the GUI thread in the background --  
the iPython wizards might be able to help you figure it out.

 I've tried to do this with a simple gtk app that embeds a  
 matplotlib plot. Hoever, I don't know how to send the application  
 in background. I've tried to do something like this:

snip

 the PlotScanApp implement the gui (full files attached). Running the
 script the image should be updated with random data each 1 sec. but
 only the first image is showed. I suppose this is not the way to put a
 gui drawing app in background...

Well, using pylab from within a GUI application is a bit dodgy to  
begin with.  I can see a few potential problems.  The first is that  
you're calling plotting commands from within the main thread,  
although the GUI is running in a background thread.  You might try  
doing the plotting from within the GUI thread by having a timer fire  
once a second to redraw the plot.  The second problem is that you're  
not calling pylab.draw(), which forces the current figure to redraw  
itself.  Whether or not pylab is running in interactive mode might be  
a factor here.  There's some documentation about interactive mode and  
the ion()/ioff() commands here:

http://matplotlib.sourceforge.net/interactive.html

Ken

-
Take Surveys. Earn Cash. Influence the Future of IT
Join SourceForge.net's Techsay 

Re: [Matplotlib-users] creating live plot (update while data is arriving)

2007-03-28 Thread Ken McIvor
On Mar 28, 2007, at 6:03 PM, Antonino Ingargiola wrote:
 On 3/28/07, Ken McIvor [EMAIL PROTECTED] wrote:
 You should probably do the acquisition asynchronously by running it
 in a separate thread.
snip

 That's exactly what I'd like to do. The problem is that if I run
 gtk.main() (the gtk main  GUI loop) in a separate thread the program
 stops until I do something on the GUI (for example passing the mouse
 on it).

Does it do this if you run gtk.main() in the main thread (e.g. the  
interpreter prompt) while doing something else in a background thread?

 My understanding so far is the following.  When the function
 that execute gtk.main() is executed, python doesn't switch thread
 until either 100 bytecode instructions are executed or since an I/O
 (potentially) blocking operation in executed.

I think you're more or less correct but are unaware of one important  
factor.  Here's my understanding of how multithreading works in  
Python...

Thread switching is controlled by something called the Global  
Interpreter Lock, which is implemented in an abstract way on top of  
an OS lock/mutex object.  Only one Python thread runs at a time  
because the Python interpreter requires a thread to hold the GIL  
before it can execute bytecode instructions.  The running thread  
holds the GIL while is executes 100 instructions.  During this time  
other Python threads block waiting to acquire the GIL.  After it has  
executed its 100 instructions, the running thread releases the GIL  
and then attempts to reacquire it.  The OS ensures that things are  
fair by preventing one thread from reacquiring the GIL over and over  
again when other threads are also waiting for it.

Python doesn't actually detect you do something that will block the  
thread, like an I/O operation.  Instead, the C code implementing an I/ 
O operation like file.write() releases the GIL before performing the  
operation.  This allows a different thread to acquire it and run some  
more bytecode instructions while the first thread performs its I/O  
operation.

 When I'm doing nothing on the  GUI application, neither 100 byte  
 code instructions are executed in the thread neither an I/O call is  
 performed, so the whole program (including the *other* threads)  
 stalls.

I'm not sure on the details, but the C code that implements gtk.main 
() almost certainly releases the GIL before running the GUI event  
loop.  Otherwise things like iPython wouldn't be able to run the GUI  
in a separate thread.  So, that's probably not the problem.

It's possible that there's another lock that's used to protect access  
to the gtk module.  If that's the case you could be causing deadlock  
by calling making gtk calls from multiple threads.  In my experience  
it's best to stick to the one-thread rule: the thread that runs the  
GUI's event loop is the only thread that's allowed to do anything  
related to the GUI.

 Basically, I don't know which is the right way to put a Gtk GUI in
 background, while another thread get the data asynchronously.

You probably want to put the GUI in the main thread.  The main thread  
is the only thread in a Python program that receives the  
KeyboardInterrupt exception when the process receives a SIGINT (i.e.  
when the user hits ^C in the shell).  Also, most Python GUI toolkits  
require their event loops run from the thread that originally  
imported the module.

 BTW, the timer idea is good and eliminates the need to call
 asynchronously the GUI thread to update the plot, which seems (the
 latter case) not very simple to do.

Yep.  It's impossible to inject arbitrary code into a Python thread;  
the thread has to figure out what it's supposed to do by periodically  
polling something or retrieving some kind of message by blocking on a  
queue.  Blocking on a queue isn't an option for the GUI thread.

You might be able to trigger Gtk signals from a separate thread but  
in my experience tricks like that can be, well, tricky.

 Thanks to your suggestion to use the image.set_data method I've
 created a simplified script (pasted at the end) that demonstrate how
 to do live-update while acquiring (jep!).

Glad I could help!  :-)

 The last think I'm not yet able to do is to update the colorbar to
 autoscale with the new incoming data. The the script that follows
 tries to update the colorbar too but it does not work (on matplotlib
 0.87 at least).

I have no idea if this will help, but you might need to call  
AxesImage.changed() after calling AxesImage.set_data().

Ken



-
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.phpp=sourceforgeCID=DEVDEV
___
Matplotlib-users mailing list
Matplotlib-users@lists.sourceforge.net
https

Re: [Matplotlib-users] Scrollbars and subplots..

2007-03-29 Thread Ken McIvor
On Mar 29, 2007, at 2:49 PM, Iyer wrote:

 Thanks for your response, what I'm trying to find - is a way to  
 have the whole subplot stop displaying non-data related parts of  
 it, like when we use the back and forward arrows on the matplotlib  
 toolbar, the subplot goes off the boundaries and can display as  
 white space (or the color of the subplot background).

 Please find attached an image - hope this will better illustrate  
 what I was trying to convey. If the subplot in the image stops  
 scrolling or rolling when it's boundaries are reached, it would  
 be nice.

Ah, I think understand what you're looking for now.  You want the  
pylab toolbar to stop panning when you reach the end of the data  
range instead of continuing over into an empty area.  Does that sound  
right to you?

 I was trying to find if the whole subplot could be enclosed within  
 a scrollbar, JDH says that is not possible.

I believe you may have been asking the wrong question.  ;-)

Based on my understanding of things it should be possible to add this  
feature to the toolbar, assuming one can easily determine the  
bounding box of the plot in axes coordinates.  One of the devs might  
be able to implement it for you, although I obviously cannot speak  
for them.

Ken

-
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.phpp=sourceforgeCID=DEVDEV
___
Matplotlib-users mailing list
Matplotlib-users@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/matplotlib-users


Re: [Matplotlib-users] Removing the black border around a plot?

2007-04-03 Thread Ken McIvor
On Apr 1, 2007, at 11:27 PM, Chelonian wrote:

 I'm new to matplotlib, and I can't even get this to work (let alone  
 the
 other fix of changing the colors).  Could you elaborate about how to
 implement this?  I've tried putting these lines in the __init__ of the
 PlotPanel() class, but I can't get it.  Any help is appreciated,  
 thank you.

It sounds like you're using WxMpl to embed matplotlib in something.   
If that's the case, you should look at the example code below.   
Otherwise, please send a short example script to the list.

Also, please note that disabling the frame effectively makes the  
figure's background transparent when using the WXAgg backend.  I'm  
not sure if this is the intended behavior.  If that's not what you  
want, you can probably just set the Figure's face and edge colors to  
the same thing using Figure.set_edgecolor() and Figure.set_facecolor().

Ken


import wxmpl
import wx

class MyPlotPanel(wxmpl.PlotPanel):
 def __init__(self, parent, id, **kwds):
 wxmpl.PlotPanel.__init__(self, parent, id, **kwds)

 fig = self.get_figure()
 fig.set_frameon(False)


if __name__ == '__main__':
 app = wx.PySimpleApp()

 frame = wx.Frame(None, -1, 'Frame Off')
 panel = MyPlotPanel(frame, -1)

 szr = wx.BoxSizer(wx.VERTICAL)
 szr.Add(panel, 1, wx.EXPAND|wx.ALL, 5)
 frame.SetSizer(szr)
 frame.Fit()

 axes = panel.get_figure().gca()
 axes.plot([0,1,2,3,4,5])

 frame.Show(True)
 app.MainLoop()

-
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.phpp=sourceforgeCID=DEVDEV
___
Matplotlib-users mailing list
Matplotlib-users@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/matplotlib-users


Re: [Matplotlib-users] passing mouse clicks back to a polling application

2007-04-05 Thread Ken McIvor
On Apr 5, 2007, at 2:14 PM, belinda thom wrote:

 I do think its valuable to be able to write a blocking mouse
 function. After your pointer to Timer (which led me to the threading
 Python library) and idle handler (which I didn't find useful doc on,
 so didn't persue), I came up with the code I'll append below. My
 printing of time elapsed seems to imply the thing is working as I'd
 expect (I see times that differ by about 1 second). Problem is, I
 still get the twirling wheel of deadness on my Mac that led me to
 post my original message.

You will probably always have this problem when you do things that  
prevent the GUI's event loop from running.

Are you running your code from within iPython or as a script?

 And then I got Chris's great reply, which makes me wonder if I'm
 trying to do too much.

I'd have to agree with Chris that you are trying to do too much from  
within pylab.

 I've been using pyrorobotics, which relies heavily on Tk, but their
 plotting facilities are not great. So I started using matplotlib and
 really like it. And I ran into problems w/their Tk interface where
 windows wouldn't update correctly on the mouse unless the mouse was
 clicked in the window. Found some stuff via google implying this was
 some nasty bug on Mac, didn't find an easy work around, so now try to
 use matplotlib whenever possible, which explains my current path to
 trying to use it to provide a simple graphic interface to a python
 Connect 4 game that I wrote so my students can have fun writing
 smart game players in my AI course.

If that's what you're aiming for you'd probably be happier with the  
result if you write something using Tkinter's Canvas or the wxPython  
FloatCanvas.

 In Matlab, I'm used to building applications, so I was hoping it
 would be possible to do something similar in matplotlib.

Well, it's entirely possible to build applications that use  
matplotlib.  The thing to remember is that matplotlib isn't its own  
programming language or development environment -- it ties Python and  
and bunch of libraries together to provide a Matlab-like interface in  
the 'pylab' module.

 Perhaps matplotlib is not currently set up for such things (in  
 which case I'd
 like to ask if this is something you'd like to include in the future).

Although I'm matplotlib is going to continue becoming more powerful  
and flexible, I'd personally be surprised if that ever becomes one of  
the project's goals.  I obviously can't speak for anyone else, but it  
seems to me that people who want to build GUI applications using  
matplotlib should be doing so by using matplotlib from within  
Python.  I also suspect that the engineering effort involved in  
making this functionality happen might be beyond the scope of the  
project.

Ken

-
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.phpp=sourceforgeCID=DEVDEV
___
Matplotlib-users mailing list
Matplotlib-users@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/matplotlib-users


Re: [Matplotlib-users] Stumped trying to find basic info

2007-04-05 Thread Ken McIvor
I forgot to CC the list on my reply.

Perhaps the colors and styles deserve to have a table in the tutorial?

Ken


On Apr 5, 2007, at 2:57 PM, Ken McIvor wrote:
 On Apr 5, 2007, at 2:42 PM, Grant Edwards wrote:

 I've just started using matplotlib, and I'm stumped on where to
 find basic info.  I've search the users guide, tutorial, and
 FAQ, and I can't find things as simple as a list of what the
 color specifiers are.  I've figured out that 'r' is red, 'k' is
 black, but I can't figure out where stuff like that is
 documented.

 Likewise for line-style.

 Where is the basic usage info at?

 It's hiding in plain sight.  Go to http://matplotlib.sf.net and  
 scroll down.  There will be a table of pylab commands, organized  
 alphabetically.  Click the plot link.  Viola!

 Ken


-
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.phpp=sourceforgeCID=DEVDEV
___
Matplotlib-users mailing list
Matplotlib-users@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/matplotlib-users


Re: [Matplotlib-users] passing mouse clicks back to a polling application

2007-04-06 Thread Ken McIvor
On Apr 5, 2007, at 8:41 PM, belinda thom wrote:

 So, how do the above observations relate to John Hunter's  
 recommendation that I use a timer or idler? It was the reply from  
 him that led me to think I might be able to come up w/something  
 that worked w/o too much dorking.

My understanding is that John was recommending a method for writing a  
GUI application that used matplotlib.  You might be able to use that  
approach to write the whole shebang in pylab, but I suspect it would  
be difficult to do well.

 Understood. If I could get something working really quickly, I  
 might go that route. But it would have to take a few hours tops,  
 and that would include me figuring out how to get in mouse clicks  
 and draw graphics.

If you need a simple front-end for drawing and receiving mouse  
clicks, wxPython's FloatCanvas is probably a fine choice.  The OSX  
version of wxPython includes a demo application that showcases the  
different UI elements it provides.  I recommend you play around with  
the FloatCanvas demo, then look at the documentation and source code  
to get an idea of how fast you can get up and running with it.

Ken

-
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.phpp=sourceforgeCID=DEVDEV
___
Matplotlib-users mailing list
Matplotlib-users@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/matplotlib-users


Re: [Matplotlib-users] Program hangs when I call pylab.show()

2007-04-09 Thread Ken McIvor
On Apr 9, 2007, at 1:16 PM, Grant Edwards wrote:

 I've switched to using wxmpl to embed figure in a wxWidgets
 panel. That almost works -- except I loose the ability for the
 user to rotate/zoom using the mouse.

I'm afraid that the current version of WxMpl doesn't play nicely with  
matplotlib's event system.  I hope to integrate the two event models  
so stuff like 3D rotations work.  Unfortunately that probably won't  
be happening for some time yet.

Ken



-
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.phpp=sourceforgeCID=DEVDEV
___
Matplotlib-users mailing list
Matplotlib-users@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/matplotlib-users


Re: [Matplotlib-users] Plotting Question

2007-04-23 Thread Ken McIvor
On Apr 23, 2007, at 5:16 PM, atlas wrote:

 Basically, I would like to be able to create objects of arbitrary type
 (possibly just a string, but I'd like to have some flexibility if  
 possible),
 create relationships between the objects, and have a graph  
 automagically
 space them out on the given canvas so they are as clear as possible.

It sounds like graphviz is the right tool for your application.

http://www.graphviz.org

Ken



-
This SF.net email is sponsored by DB2 Express
Download DB2 Express C - the FREE version of DB2 express and take
control of your XML. No limits. Just data. Click to get it now.
http://sourceforge.net/powerbar/db2/
___
Matplotlib-users mailing list
Matplotlib-users@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/matplotlib-users


Re: [Matplotlib-users] (no subject)

2007-05-07 Thread Ken McIvor
On May 7, 2007, at 11:21 AM, Christopher Barker wrote:
 Praveen Gopalakrishnan wrote:
 Hi, I'm a newbie trying to install matplotlib (0.87) on Linux
 (2.6.11,FC4). I have Python 2.4, wxPython 2.8.3 and all required
 libraries for matplotlib (freetype, libpng, zlib). I'm tring to use
 wxAgg as the backend, and there is a build error for matplotlib when
 it tries to compile the wxagg files..

 I'm pretty sure that 0.87 will not build with wxPython2.8.* I think  
 it's
 been fixed in SVN, but not in the 0.90 release either.

Chris is correct, you cannot build 0.87's _wxagg module using  
wxPython 2.8.  However, you can edit setup.py and change the value of  
the BUILD_WXAGG variable from 'auto' to 0.  This will inhibit the  
compilation of the module and everything should work fine.

Ken

-
This SF.net email is sponsored by DB2 Express
Download DB2 Express C - the FREE version of DB2 express and take
control of your XML. No limits. Just data. Click to get it now.
http://sourceforge.net/powerbar/db2/
___
Matplotlib-users mailing list
Matplotlib-users@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/matplotlib-users


Re: [Matplotlib-users] Plot vs Line Collections

2007-06-02 Thread Ken McIvor
On Jun 2, 2007, at 5:51 AM, Andrea Gavana wrote:

 Is there any plan to adapt matplotlib to use the available
 wxPython installation instead of a predefined one?

Yes.  The next release of matplotlib will do a better job of  
selecting the approriate drawing implementation.  It will also  
include support for wxPython 2.8's more efficient drawing methods.

 And, in this respect, will I get any performance improvement for  
 the kind of plots
 I am doing right now?

Probably not.  The focus of optimization has been improving the rate  
at which Agg images can be drawn by wxPython, rather than improving  
some specific use case.

Ken

-
This SF.net email is sponsored by DB2 Express
Download DB2 Express C - the FREE version of DB2 express and take
control of your XML. No limits. Just data. Click to get it now.
http://sourceforge.net/powerbar/db2/
___
Matplotlib-users mailing list
Matplotlib-users@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/matplotlib-users


Re: [Matplotlib-users] Simple Matplotlib usage and Gnuplot

2007-08-27 Thread Ken McIvor
On Aug 27, 2007, at 11:59 AM, Matt Fago wrote:

 Are there any plans for such a feature, or does it already exist?  
 Probably would
 not be too difficult to implement if no one else is planning to do so.

There is a script called 'plotit', included with the WxMpl library,  
that provides very limited command-line plotting of whitespace- 
delimited ASCII data files, e.g.

$ plotit '$1' '$3/$2' somedatafile anotherdatafile

There's also support for strip charting data as it arrives from  
stdin, but you have to communicate using an ugly legacy language.   
The script is currently a wxPython-only program that depends on WxMpl  
to embed the plot, but you could probably modify it to work using  
pylab without too much pain and suffering.

The WxMpl source tarball, which includes plotit, can be downloaded from

http://agni.phys.iit.edu/~kmcivor/wxmpl/

If you just want to start hacking on the script you can pull it  
straight from the subversion repository instead:

http://svn.csrri.iit.edu/mr-software/wxmpl/trunk/plotit

Ken

-
This SF.net email is sponsored by: Splunk Inc.
Still grepping through log files to find problems?  Stop.
Now Search log events and configuration files using AJAX and a browser.
Download your FREE copy of Splunk now   http://get.splunk.com/
___
Matplotlib-users mailing list
Matplotlib-users@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/matplotlib-users


Re: [Matplotlib-users] pick_event with wxmpl

2007-10-15 Thread Ken McIvor
On Oct 12, 2007, at 4:28 PM, Giorgio F. Gilestro wrote:

 Do you know if there is a reason why I cannot succeed in generating a
 pick_event using wxmpl?

Yes, WxMpl disables all matplotlib events to ensure that figure  
zooming works correctly. I haven't had time to ensure that WxMpl will  
work reliably in all cases when matplotlib's events are enabled.

 I know I could use EVT_POINT but I need the picker event to return  
 the event.ind

Although it's a bit silly, one possible solution would be to have  
your EVT_POINT callback generate a mouse event.  I think something  
like this might work, but I haven't tried it...

from matplotlib.backend_bases import FigureCanvasBase

def OnPoint(evt):
figureCanvas = evt.axis.figure.canvas
FigureCanvasBase.button_press_event(figureCanvas, evt.x, evt.y, 1)


Ken

-
This SF.net email is sponsored by: Splunk Inc.
Still grepping through log files to find problems?  Stop.
Now Search log events and configuration files using AJAX and a browser.
Download your FREE copy of Splunk now  http://get.splunk.com/
___
Matplotlib-users mailing list
Matplotlib-users@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/matplotlib-users


Re: [Matplotlib-users] [Mac OS 10.4.10, Python 2.5] LineCollection error

2007-10-15 Thread Ken McIvor
David,

I'm not aware of any compatibility problems when using WxMpl with MPL  
0.91, but then again I can't remember if I ever tested it thoroughly.

Could you please send me a short script that reproduces the problem,  
along with the complete error message it generates?  Thanks.

Ken

-
This SF.net email is sponsored by: Splunk Inc.
Still grepping through log files to find problems?  Stop.
Now Search log events and configuration files using AJAX and a browser.
Download your FREE copy of Splunk now  http://get.splunk.com/
___
Matplotlib-users mailing list
Matplotlib-users@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/matplotlib-users


Re: [Matplotlib-users] cannot find wxmsw26uh_vc.dll

2007-11-12 Thread Ken McIvor
Jeff,

I think you need to delete the WXAgg accelerator module in your site- 
packages/matplotlib/backends directory.  It will have a name like  
_wxagg.so, _wxagg.pyd, or _wxagg.dll.

Ken

-
This SF.net email is sponsored by: Splunk Inc.
Still grepping through log files to find problems?  Stop.
Now Search log events and configuration files using AJAX and a browser.
Download your FREE copy of Splunk now  http://get.splunk.com/
___
Matplotlib-users mailing list
Matplotlib-users@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/matplotlib-users


Re: [Matplotlib-users] How to show matplotlib.image ?

2007-12-11 Thread Ken McIvor
On Dec 5, 2007, at 11:58 AM, Christopher Barker wrote:

 or use wxmpl:

 http://agni.phys.iit.edu/~kmcivor/wxmpl/

 By the way, couldn't that be distributed with Matplotlib? Maybe in
 toolkits, if not the main distro.

I'd be all for having wxmpl distributed as part of the matplotlib  
toolkits. I had originally hoped to merge it into the main  
distribution after unifying the event handling so that matplotlib  
events worked robustly, but I don't see myself finding the time to  
work on it any time soon.

Ken

-
SF.Net email is sponsored by: 
Check out the new SourceForge.net Marketplace.
It's the best place to buy or sell services for
just about anything Open Source.
http://sourceforge.net/services/buy/index.php
___
Matplotlib-users mailing list
Matplotlib-users@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/matplotlib-users


Re: [Matplotlib-users] build matplotlib including backend wxPython

2008-01-22 Thread Ken McIvor
On Jan 22, 2008, at 11:00 AM, Matthias Michler wrote:

 I was not up to date with my installation and I tried to use the  
 latest svn
 version (trunk) on my Debian etch. I have a problem to build  
 matplotlib
 including support for wxPython as backend. The output is attached  
 below.

 Actually I cannot find a file wxPython.h on my system.

The wxPython Debian packages do not include the development headers  
required to build the WXAgg accelerator module.  The WXAgg backend  
will work just fine without it, so you should disable the module by  
editing setup.cfg and uncommenting the line wxagg = False in the  
gui_support section.

Please let me know if you haven't created a setup.cfg file and are  
receiving this error straight out of the box, as that's indicative  
of a bug in the build system.  Thanks!

Ken

-
This SF.net email is sponsored by: Microsoft
Defy all challenges. Microsoft(R) Visual Studio 2008.
http://clk.atdmt.com/MRT/go/vse012070mrt/direct/01/
___
Matplotlib-users mailing list
Matplotlib-users@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/matplotlib-users


Re: [Matplotlib-users] Any news on wxMPL ?

2008-12-09 Thread Ken McIvor
Massimo,

I'm sorry I didn't reply to your email.  It fell through the cracks,  
so to speak.

WxMpl development has been stalled for quite some time now because I  
developed bilateral carpal tunnel syndrome this past spring.  It was  
not my intention to leave it abandoned and incompatible with  
matplotlib, but I've been finding everything to be a bit of an uphill  
battle these days.

My current plan is to spend some time later this month bringing WxMpl  
up to date with the API changes.  I'd be very pleased to see it hosted  
as a matplotlib toolkit, so I'll move it over once it's working  
properly.  If someone wants to move the source over and start hacking  
on it in the interim, please be my guest.

Ken

On Nov 21, 2008, at 4:52 AM, massimo sandal wrote:

 Hi,

 I am a wxMPL user. I use it as a component to blend MPL into a wx  
 GUI for a data analysis application I develop ( 
 http://code.google.com/p/hooke 
  ).

 I was extremly satisfied by that package, but I've noticed it  
 doesn't play well with latest mpl and needs to be patched. Another  
 wonderful guy on this list (Paulo Meira) managed to patch it get it  
 working but I am receiving reports it could be still buggy and it is  
 a completely unofficial patch.

 I tried to wrote to Ken McIvor (wxmpl author) about this but  
 received no answer.
 So, I'd like to know:
 - Is anyone able to contact Ken McIvor?
 - Does anyone know about the wxmpl status?
 - If wxmpl has been abandoned by its author, is there anyone  
 interested (beyond myself) in continuing its development?

 Thanks a lot,
 Massimo

 -- 
 Massimo Sandal , Ph.D.
 University of Bologna
 Department of Biochemistry G.Moruzzi

 snail mail:
 Via Irnerio 48, 40126 Bologna, Italy

 email:
 [EMAIL PROTECTED]

 web:
 http://www.biocfarm.unibo.it/samori/people/sandal.html

 tel: +39-051-2094388
 fax: +39-051-2094387
  
 massimo_sandal 
 .vcf 
  
 -
 This SF.Net email is sponsored by the Moblin Your Move Developer's  
 challenge
 Build the coolest Linux based applications with Moblin SDK  win  
 great prizes
 Grand prize is a trip for two to an Open Source event anywhere in  
 the world
 http://moblin-contest.org/redirect.php?banner_id=100url=/___
 Matplotlib-users mailing list
 Matplotlib-users@lists.sourceforge.net
 https://lists.sourceforge.net/lists/listinfo/matplotlib-users


--
SF.Net email is Sponsored by MIX09, March 18-20, 2009 in Las Vegas, Nevada.
The future of the web can't happen without you.  Join us at MIX09 to help
pave the way to the Next Web now. Learn more and register at
http://ad.doubleclick.net/clk;208669438;13503038;i?http://2009.visitmix.com/
___
Matplotlib-users mailing list
Matplotlib-users@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/matplotlib-users


Re: [Matplotlib-users] Any news on wxMPL ?

2008-12-10 Thread Ken McIvor
On Dec 10, 2008, at 6:35 AM, massimo sandal wrote:

 Thanks a lot for your answer. I am very happy to know that you are  
 alive and (mostly) healthy and that you didn't forget us! :)

Oh no, I certainly haven't forgotten about you all!

 I'm sorry I didn't reply to your email.  It fell through the  
 cracks, so to speak.
 WxMpl development has been stalled for quite some time now because  
 I developed bilateral carpal tunnel syndrome this past spring.  It  
 was not my intention to leave it abandoned and incompatible with  
 matplotlib, but I've been finding everything to be a bit of an  
 uphill battle these days.

 Woah, how bad. I'm sorry about that, I hope you're somehow recovering.

Thanks.  I'm going to have some surgery early next year, which will  
hopefully fix things.  I intend to have WxMpl working again and safely  
in matplotlib's repository before then, as I'll be effectively offline  
for six months or so, at least in terms of writing code.

 Thanks a lot for your interest. I didn't have time to go into the  
 wxmpl source, but another guy (Paulo Meira , [EMAIL PROTECTED] ) did  
 a terrific work in bringing wxmpl up to date. I think you could  
 start by contacting him.

Yes, I've had his email with the patch flagged in Mail.app for  
approximately forever.  Thanks for sending me a patched copy of  
wxmpl.py, too.  It'll be very helpful in figuring out the sort of  
changes I need to make.

 Thanks a lot for your feedback again. I develop a data analysis  
 application that uses wx and MPL and your little library made things  
 much easier. Thanks for your wonderful work.

Thank you very much for your kind words.  :-)

Ken

--
SF.Net email is Sponsored by MIX09, March 18-20, 2009 in Las Vegas, Nevada.
The future of the web can't happen without you.  Join us at MIX09 to help
pave the way to the Next Web now. Learn more and register at
http://ad.doubleclick.net/clk;208669438;13503038;i?http://2009.visitmix.com/
___
Matplotlib-users mailing list
Matplotlib-users@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/matplotlib-users


[Matplotlib-users] WxMpl 1.3.0 released

2009-02-21 Thread Ken McIvor
I've finally been able to update the WxMpl library so it's compatible  
with MPL 0.98:

http://agni.phys.iit.edu/~kmcivor/wxmpl/downloads/wxmpl-1.3.0.tar.gz

It's been tested on Debian Lenny (Python 2.5.2, MPL 0.98.1, wxPython  
2.6.3.2) and Mac OS 10.5.5 (MacPython 2.5.4, MPL 0.98.1 and 0.98.6svn,  
wxPython 2.8.9.1).  Please let me know if you encounter any problems.

My thanks to everyone for the patches and feedback, and for being so  
patient.

Ken

--
Open Source Business Conference (OSBC), March 24-25, 2009, San Francisco, CA
-OSBC tackles the biggest issue in open source: Open Sourcing the Enterprise
-Strategies to boost innovation and cut costs with open source participation
-Receive a $600 discount off the registration fee with the source code: SFAD
http://p.sf.net/sfu/XcvMzF8H
___
Matplotlib-users mailing list
Matplotlib-users@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/matplotlib-users