Changes in 1.5.3¶
ax.plot(..., marker=None) gives default marker¶
Prior to 1.5.3 keyword arguments passed to plot were
handled in two parts -- default keyword arguments generated internal to
plot (such as the cycled styles) and user supplied
keyword arguments. The internally generated keyword arguments were passed to
the matplotlib.lines.Line2D and the user keyword arguments were passed to
ln.set(**kwargs) to update the artist after it was created. Now both sets
of keyword arguments are merged and passed to Line2D. This
change was made to allow None to be passed in via the user keyword arguments
to mean 'do the default thing' as is the convention through out Matplotlib
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').