John > I modified pylab (and every backend, damn there are a lot) to support > this feature.
Wow, impressive ! Thx a lot > Now you can pass a FigureClass kwarg to the pylab > figure function. With minimal extra work, we could support defaults > so you don't have to explicitly pass it. But before I go ahead with > this, take a look and see if this is more like what you had in mind. Yep indeed, that's pretty much what I was considering. And parsing the MyFigure arguments through keywords seems the easiest, I'll keep that in mind (I used optional arguments *args, as they're not used in Figure, but that's trickier to keep track of). Now, till we (you ;)) are it, what about updating Figure.add_subplot() to call user-defined subplots ? I wrote something along the lines below for my own needs, but that might be a useful addition... Initial add_subplot add_subplot(self, *args, **kwargs): ... if isinstance(args[0], Subplot) or isinstance(args, PolarSubplot): a = args[0] a.set_figure(self) else: ispolar = popd(kwargs, 'polar', False) if ispolar: a = PolarSubplot(self, *args, **kwargs) else: a = Subplot(self, *args, **kwargs) ... Modified add_subplot add_generic_subplot(figure, subplotclass, *args, **kwargs): ... if isinstance(args[0], Subplot): a = args[0] a.set_figure(self) else: a = subplotclass(self, *args, **kwargs) ... That way, if you need a PolarSubplot, you can still get it. Well, we'd have to make PolarSubplot a subclass of Subplot instead of Subplotbase, but that should be easy to implmnt. > from pylab import figure, show, nx > from matplotlib.figure import Figure > > class MyFigure(Figure): > def __init__(self, *args, **kwargs): > """ > custom kwarg figtitle is a figure title > """ > figtitle = kwargs.pop('figtitle', 'hi mom') > Figure.__init__(self, *args, **kwargs) > self.text(0.5, 0.95, figtitle, ha='center') > > fig = figure(FigureClass=MyFigure, figtitle='my title') > ax = fig.add_subplot(111) > ax.plot([1,2,3]) > fig.savefig('test.png') > fig.savefig('test.ps') > show() > > > > > _______________________________________________ > Matplotlib-users mailing list > Matplotlib-users@lists.sourceforge.net > https://lists.sourceforge.net/lists/listinfo/matplotlib-users All the advantages of Linux Managed Hosting--Without the Cost and Risk! Fully trained technicians. The highest number of Red Hat certifications in the hosting industry. Fanatical Support. Click to learn more http://sel.as-us.falkag.net/sel?cmd=lnk&kid=107521&bid=248729&dat=121642 _______________________________________________ Matplotlib-users mailing list Matplotlib-users@lists.sourceforge.net https://lists.sourceforge.net/lists/listinfo/matplotlib-users