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

Reply via email to