Matthias Michler wrote: > I would expect that the case of the Subplot-objects is somehow singular and > all other mpl-objects can be classified using type and isinstance, but I'm > not an mpl-expert and maybe there are more special cases. > Yes. This weirdness came about because Subplot used to contain functionality for both the projections (how data is projected, ticked etc.) and positioning within the figure. Around 0.91, these two things were separated out so that writing a new projection (eg. polar axes) didn't require reimplementing the subplot infrastructure. The Subplot class was kept around as an alias for AxesSubplot (a dynamically generated class) backward compatibility.
As for not being able to do "isinstance(gca(), matplotlib.axes.SubplotAxes)" -- I'm not sure that's a problem. It would help to understand the use case, but I suspect you either want "isinstance(gca(), matplotlib.axes.Axes)" or "isinstance(gca(), matplotlib.axes.SubplotBase)". Mike > Kind regards, > Matthias > > >> On Tue, Jan 12, 2010 at 12:01 PM, Matthias Michler >> >> <matthiasmich...@gmx.net> wrote: >> >>> Hi Nico, >>> >>> I'm sorry I cannot help you, but at least I'd like to share my findings >>> with you: I find the following statements to be true: >>> isinstance(gca(), matplotlib.axes.SubplotBase) >>> isinstance(gca(), matplotlib.axes.Subplot) >>> isinstance(gca(), matplotlib.axes.Axes) >>> but there is no class 'AxesSubplot' in matplotlib.axes. I think this >>> class is somehow dynamically generated from Axes and Subplot, but I have >>> no idea how this works. >>> >>> Kind regards, >>> Matthias >>> >>> On Tuesday 12 January 2010 11:40:21 Nico Schlömer wrote: >>> >>>> Hm. >>>> >>>> print type( gca() ) >>>> print gca().__class__ >>>> print isinstance( gca(), matplotlib.axes.AxesSubplots) >>>> >>>> yields >>>> >>>> <class 'matplotlib.axes.AxesSubplot'> >>>> <class 'matplotlib.axes.AxesSubplot'> >>>> Traceback (most recent call last): >>>> File "./testfunctions.py", line 13, in <module> >>>> print isinstance( a, matplotlib.axes.AxesSubplots) >>>> AttributeError: 'module' object has no attribute 'AxesSubplots >>>> >>>> ?Nico >>>> >>>> On Tue, Jan 12, 2010 at 6:45 AM, Joshua J. Kugler >>>> <jos...@eeinternet.com> >>>> >>> wrote: >>> >>>>> On Monday 11 January 2010, Nico Schlömer elucidated thus: >>>>> >>>>>> quick question from a Python noob: >>>>>> Suppose I have an instance of an object of matplotlib, Is there any >>>>>> way to check on its type, e.g., whether it is an instance of >>>>>> matplotlib.axes.AxesSubplots? >>>>>> >>>>> Python's built-in 'isintance.' >>>>> >>>>> isinstance(var, matplotlib.axes.AxesSubplots) >>>>> >>>>> j >>>>> >>>>> -- >>>>> Joshua Kugler >>>>> Part-Time System Admin/Programmer >>>>> http://www.eeinternet.com >>>>> PGP Key: http://pgp.mit.edu/ ID 0x14EA086E >>>>> >>> ------------------------------------------------------------------------- >>> ----- This SF.Net email is sponsored by the Verizon Developer Community >>> Take advantage of Verizon's best-in-class app development support A >>> streamlined, 14 day to market process makes app distribution fast and >>> easy Join now and get one step closer to millions of Verizon customers >>> http://p.sf.net/sfu/verizon-dev2dev >>> _______________________________________________ >>> Matplotlib-users mailing list >>> Matplotlib-users@lists.sourceforge.net >>> https://lists.sourceforge.net/lists/listinfo/matplotlib-users >>> > > > > ------------------------------------------------------------------------------ > This SF.Net email is sponsored by the Verizon Developer Community > Take advantage of Verizon's best-in-class app development support > A streamlined, 14 day to market process makes app distribution fast and easy > Join now and get one step closer to millions of Verizon customers > http://p.sf.net/sfu/verizon-dev2dev > _______________________________________________ > Matplotlib-users mailing list > Matplotlib-users@lists.sourceforge.net > https://lists.sourceforge.net/lists/listinfo/matplotlib-users > -- Michael Droettboom Science Software Branch Operations and Engineering Division Space Telescope Science Institute Operated by AURA for NASA ------------------------------------------------------------------------------ This SF.Net email is sponsored by the Verizon Developer Community Take advantage of Verizon's best-in-class app development support A streamlined, 14 day to market process makes app distribution fast and easy Join now and get one step closer to millions of Verizon customers http://p.sf.net/sfu/verizon-dev2dev _______________________________________________ Matplotlib-users mailing list Matplotlib-users@lists.sourceforge.net https://lists.sourceforge.net/lists/listinfo/matplotlib-users