1.5.3 中的 API 变更#
ax.plot(..., marker=None)
给出默认标记#
在1.5.3之前,传递给 plot
的关键字参数被分为两部分处理——由 plot
内部生成的默认关键字参数(如循环样式)和用户提供的关键字参数。内部生成的关键字参数被传递给 matplotlib.lines.Line2D
,而用户的关键字参数则通过 ln.set(**kwargs)
在艺术家创建后进行更新。现在,这两组关键字参数被合并并传递给 Line2D
。这一更改是为了允许通过用户关键字参数传递 None 来表示‘执行默认操作’,这是Matplotlib中的惯例,而不是引发异常。
与大多数 Line2D
设置方法不同,set_marker
接受 None
作为有效输入,这被映射为 '无标记'。因此,通过将 marker=None
传递给 __init__
而不是 set(...)
,ax.plot(..., marker=None)
的含义从 '无标记' 变为 '来自 rcparams 的默认标记'。
这个变化只有在 mpl.rcParams['lines.marker']
的值不是 'None'
时才会明显(字符串 'None'
表示 '没有标记')。