Hi Nico,

On Tuesday 12 January 2010 12:26:01 Nico Schlömer wrote:
> Well, I guess that's good enough for me. :)

Just to share my knowlegde with you: I found 
In [18]: matplotlib.axes.Subplot.__bases__
Out[18]: 
(<class matplotlib.axes.SubplotBase at 0x8a1f6bc>,
 <class 'matplotlib.axes.Axes'>)

That is the class 'matplotlib.axes.Subplot' was inherited from SubplotBase and 
Axes. I think the name 'AxesSubplot' belongs to the class object 'Subplot', 
which is dynamically generated in the axes.py and includes the name of 
the 'mother': namely 'Axes' (see also function 'subplot_class_factory' at the 
end of matplotlib/axes.py).

> It's a bit unfortunate that the type() function wouldn't spit out this
> information, though. When for example iterating through the output of
> get_children() (iterating through a list of objects of unknown classes
> that is), would there be any other way (function, method?) to get more
> info on the matplotlib object?

I think type just uses the '__name__' of the class, which is in most cases 
really the name of the class, but I think for Subplot-instances this is a bit 
more involved because of the internal structure of matplotlib.
In[11]: matplotlib.axes.Subplot.__name__
Out[11]: 'AxesSubplot'

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.

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

Reply via email to