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
> [email protected]
> 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
[email protected]
https://lists.sourceforge.net/lists/listinfo/matplotlib-users