我正在使用导入为plt的matplotlib.pyplot模块进行绘图。
在plt.plot()语句中,如果我将参数作为"x=array1,y=array2"传递,则会出现"TypeError:plot得到了意外的关键字参数'x'"。
如果我只是简单地传递"array1和array2",而不明确说明它们对应于x和y轴,则代码将被正确执行。
为什么会这样?
我正在使用导入为plt的matplotlib.pyplot模块进行绘图。
在plt.plot()语句中,如果我将参数作为"x=array1,y=array2"传递,则会出现"TypeError:plot得到了意外的关键字参数'x'"。
如果我只是简单地传递"array1和array2",而不明确说明它们对应于x和y轴,则代码将被正确执行。
为什么会这样?
def plot(self, *args, scalex=True, scaley=True, data=None, **kwargs):
"""
Plot y versus x as lines and/or markers.
Call signatures::
plot([x], y, [fmt], *, data=None, **kwargs)
plot([x], y, [fmt], [x2], y2, [fmt2], ..., **kwargs)
*args
和**kwargs
概念有关。这两者都允许您在函数中使用可变数量的参数,但区别在于,*args
只接受值,而**kwargs
也接受关键字,因为名称“kw”的含义。matplotlib.pyplot.plot()
函数使用*args
而不是**kwargs
,因此这些函数不接受参数中的关键字。