On 3/15/07, Ryan Krauss <[EMAIL PROTECTED]> wrote: > How should I be using matplotlib/pylab in my utility scripts so that > they are compatible with embedding in wx?
A good rule of thumb is to never import pylab at the top level for modules that need to be imported. In my own code, I often do something like def somefunc(figfunc): fig = figfunc() ax = fig.add_subplot(111) ax.plot([1,2,3]) and then I can call it with somefunc(pylab.figure) or a custom func that generates a GUI embedded figure instance. Eg, in my GTKApps, I have a functor like gtk_figure that returns a function that creates a figure embedded in a GTK window. In basemap, Jeffrey Whitaker does something like the following def somefunc(ax=None): if ax is None: import pylab ax = pylab.gca() Here the pylab import is triggered only when the function is called with default arguments. That way you can use it from GUI code without triggering a pylab import like somefunc(ax) and from other code where you want pylab do do everything with somefunc() I'm afraid you have some cleanup to do..... Mixing pylab with embedded GUI code is a recipe for pain and misery. JDH ------------------------------------------------------------------------- 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-users mailing list Matplotlib-users@lists.sourceforge.net https://lists.sourceforge.net/lists/listinfo/matplotlib-users