Matplotlib is quite nice, but I keep running into problems with the actual display interface. In some cases the plot window freezes and such when using it from a debugger, or sometimes pylab.show() just never returns. Matlab's plotting interface just never gave me so much trouble.
I think all these problems could be fixed if the display interface were turned into a separate process that communicates with the Python program using pipes or some other IPC mechanism. I used this technique in a (C/C++) image debugging utility program I wrote (http://www.billbaxter.com/projects/imdebug) and it works quite well. The displayer is a separate process using a memory mapped file to communicate with the main program. When the user's code calls the "display_image" function, the data to display is copied to the memory mapped file, the displayer process is sent a signal, and then the displayer reads the data from the memory mapped file and displays it. Because the displayer is a separate process, it never hangs, even if the main app crashes or gets stuck at a break point or in an infinite loop. And the displayer always owns its display loop completely, so no nasty issues with who gets to run the wx.App event loop and when, or with the single-gui-thread limitations you have with multithreaded GUI apps. Has anyone given thought to making matplotlib work in such a manner? It would be hell to do in C or C++ I think, but with Python's RPC libs I bet it wouldn't be so bad. --bb ------------------------------------------------------------------------- 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