ax.plot(..., marker=None)
gives default marker¶Prior to 1.5.3 kwargs passed to plot
were handled
in two parts -- default kwargs generated internal to
plot
(such as the cycled styles) and user supplied
kwargs. The internally generated kwargs were passed to the
matplotlib.lines.Line2D.__init__
and the user kwargs were passed to
ln.set(**kwargs)
to update the artist after it was created. Now
both sets of kwargs are merged and passed to
__init__
. This change was made to allow None
to be passed in via the user kwargs to mean 'do the default thing' as
is the convention through out mpl rather than raising an exception.
Unlike most Line2D
setter methods
set_marker
did accept None
as a valid
input which was mapped to 'no marker'. Thus, by routing this
marker=None
through __init__
rather than set(...)
the meaning
of ax.plot(..., marker=None)
changed from 'no markers' to 'default markers
from rcparams'.
This is change is only evident if mpl.rcParams['lines.marker']
has a value
other than 'None'
(which is string 'None'
which means 'no marker').