gpt4 book ai didi

python - 当传递命名参数时,matplotlib 不会绘图

转载 作者:行者123 更新时间:2023-11-30 22:15:31 26 4
gpt4 key购买 nike

有人可以解释一下这种行为吗?

import matplotlib.pyplot as plt
plt.plot(x=[0.05, 0.1, 0.15], y=[102, 211, 393])
plt.show()

No output!

import matplotlib.pyplot as plt
plt.plot([0.05, 0.1, 0.15], [102, 211, 393])
plt.show()

With output!

也就是说,在不明确指定 x=y= 的情况下,pyplot 可以正常工作。但是,这与 the documentation 中的行为不同。 。嗯,文档没有明确使用 x=y=,但它给出了 plot 的签名为 plot(x, y)。因此,应该允许命名参数,并产生相同的结果,对吗?

最佳答案

我认为困惑来自于签名的差异。这是一个Python问题。

考虑

def func1(x,y):
print(x,y)

def func2(*args):
print(args)

您可以使用位置参数调用它们中的每一个。

func1(1,2)
func2(1,2)

您还可以使用命名参数调用第一个函数。

func1(x=1, y=2)

但是,您无法使用命名参数调用第二个函数,因为 xy 尚未定义。

func2(x=1, y=2)

导致错误。

plot的文档中可以看出,它使用了第二种定义函数的方式,

matplotlib.pyplot.plot(*args, **kwargs)

我认为 matplotlib 文档需要假设有一些基本的 Python 理解,但如果可以做一些事情来澄清它,请随时提出改进建议。

关于python - 当传递命名参数时,matplotlib 不会绘图,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/50285820/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com