'Update the properties of this :class:`Artist` from the
dictionary *prop*.'

def update(self, props):

    def _update_property(self, k, v):
        u"sorting    out    how    to    update    property    (setter    or    setattr)\n\n                                                Parameters\n                                                ----------\n                                                k    :    str\n                                                                The    name    of    property    to    update\n                                                v    :    obj\n                                                                The    value    to    assign    to    the    property\n                                                Returns\n                                                -------\n                                                ret    :    obj    or    None\n                                                                If    using    a    `set_*`    method    return    it's    return,    else    None.\n                                                "
        k = k.lower()
        if (k in {u'axes'}):
            return setattr(self, k, v)
        else:
            func = getattr(self, (u'set_' + k), None)
            if (not callable(func)):
                raise AttributeError((u'Unknown    property    %s' % k))
            return func(v)
    store = self.eventson
    self.eventson = False
    try:
        ret = [_update_property(self, k, v) for (k, v) in props.items()]
    finally:
        self.eventson = store
    if len(ret):
        self.pchanged()
        self.stale = True
    return ret
