-
-
Notifications
You must be signed in to change notification settings - Fork 8.2k
Open
Labels
Description
Summary
Those functions are quite similar. In #30956, I tried to relate them via
a.update(props) is equivalent to a.set(**props)
And got the the question, why we have them both.
From a quick look at the code, it seems set is doing name normalization, so I wrote
This is a slightly more efficient variant of `.Artist.set`. It's
primarily intended to be used internally and by third party
plotting libraries. End users are recommended to use the more
readable and flexible `.Artist.set`.
``a.update(props)`` is equivalent to ``a.set(**props)``, but does
not support aliases / shortcuts; e.g. you can do ``set(lw=1)`` as
a shortcut for ``set_linewidth(1)``, but you cannot do
``update({"lw": 1})``.
But turns out that is not true either. While update does not normalize, it likely will just call set_lw().
This needs more investigation.
Proposed fix
Identify whether there are any behavior differences or whether it's just the API (props vs. **props).
This possibly involves digging into the history.
Document the findings and define the scope when/whether update should still be used.