Python 为什么可以';参数是否可以在pyplot中以x和y的形式显式传递?

Python 为什么可以';参数是否可以在pyplot中以x和y的形式显式传递?,python,matplotlib,Python,Matplotlib,我正在使用matplotlib.pyplot模块作为plt导入绘图 在plt.plot()语句中,如果我将参数传递为“x=array1,“y=array2”,则会得到“TypeError:plot获得意外的关键字参数“x” 如果我简单地传递“array1和array2”,而不明确表示它们对应于x轴和y轴,代码就会正确执行 为什么会这样?如果您查看函数定义,您可以看到那里的星号,而使用星号对非可选参数不起作用。请参阅示例 def plot(self, *args, scalex=True, sca

我正在使用matplotlib.pyplot模块作为plt导入绘图

在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)

这与Python中的
*args
**kwargs
的概念有关。这两个概念都允许您在函数中使用数量可变的参数,但不同之处在于,尽管
*args
只接受值,
**kwargs
也接受“kw”名称所暗示的关键字


由于
matplotlib.pyplot.plot()
函数使用
*args
而不是
**kwargs
,因此这些函数不接受参数内的关键字。

欢迎使用SE。您能告诉我们如何定义数组吗?没有代码是不可能回答的。当然。希望下面是所要求的。array1=np.array([4.7,4.5,4.9,4,4.6])array2=np.array([1.4,1.5,1.5,1.3,1.5])哦..好的..谢谢。虽然我不太了解函数体中的内容,但我想对于默认参数x和y,像x和y这样的关键字没有定义。可能是为了减少代码。