Works pretty well.
I've now implemented something like

========================== *snip* ==========================
def find_associated_colorbar( obj ):
      for child in obj.get_children():
              try:
                      cbar = child.colorbar
              except AttributeError:
                      continue
              if not cbar == None: # really necessary?
                      # if fetch was successful, cbar contains
                      # ( reference to colorbar, reference to axis
containing colorbar )
                      return cbar[0]
      return None
========================== *snip* ==========================

How did you find out about the colormap attribute? Was that by taking
a good guess in looking at the source code, or are the public
attributes of a class documented?

Cheers,
Nico



On Tue, Feb 16, 2010 at 1:18 PM, Jae-Joon Lee <lee.j.j...@gmail.com> wrote:
> set_colorbar sets colorbar attribute. So I guess you can just check if
> Mappable.colorbar is None or not.
> Mappable.colorbar, when set, should be a tuple whose first item is an
> image for colorbar and the second item is an colorbar axes.
>
> Regards,
>
> -JJ
>
> On Tue, Feb 16, 2010 at 5:26 AM, Nico Schlömer <nico.schloe...@gmail.com> 
> wrote:
>> Alright, so I dug the sources a bit and found the snippet
>>
>> ========================== *snip* ==========================
>>        cb = cbar.Colorbar(cax, mappable, **kw)
>>
>>        def on_changed(m):
>>            #print 'calling on changed', m.get_cmap().name
>>            cb.set_cmap(m.get_cmap())
>>            cb.set_clim(m.get_clim())
>>            cb.update_bruteforce(m)
>>
>>        self.cbid = mappable.callbacksSM.connect('changed', on_changed)
>>        mappable.set_colorbar(cb, cax)
>> ========================== *snap* ==========================
>>
>> I guess what happens is that a Colorbar is created, and a callback
>> function registered which adapts this very color bar whenever there is
>> a change in color maps/limits.
>> Well. -- I reckon that means that at the moment there's no way to tell
>> if a ScalarMappable has a color bar associated or not. :/ -- At least
>> I don't see how it would be possible to dig up on_changed( ) from the
>> list of callbacks and extract cb from it.
>>
>> Aaand everybody: "Fea-ture request, fea-ture request!"
>> get_colorbar() for ScalarMappables :)
>>
>> Cheers,
>> Nico
>>
>>
>>
>>
>> On Mon, Feb 15, 2010 at 7:58 PM, Nico Schlömer <nico.schloe...@gmail.com> 
>> wrote:
>>>> As far as I can see, it is the other way around, i.e., mappables
>>>> (e.g., images) know about the colorbar they are connected.
>>>
>>> Well yeah, that'd be even better. I'll check out the API. -- Hints
>>> would still be appreciated of course.
>>>
>>> --Nico
>>>
>>
>

------------------------------------------------------------------------------
SOLARIS 10 is the OS for Data Centers - provides features such as DTrace,
Predictive Self Healing and Award Winning ZFS. Get Solaris 10 NOW
http://p.sf.net/sfu/solaris-dev2dev
_______________________________________________
Matplotlib-users mailing list
Matplotlib-users@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/matplotlib-users

Reply via email to