我正在浏览 matplotlib 的基本教程,我正在处理的示例代码是:
import numpy as np
import matplotlib.pylab as plt
x=[1,2,3,4]
y=[5,6,7,8]
line, = plt.plot(x,y,'-')
plt.show()
有谁知道行(line,=plt.plot(x,y,'-')
)后面的逗号是什么意思?我认为这是一个错字,但如果我省略逗号,显然整个代码都不起作用。
我正在浏览 matplotlib 的基本教程,我正在处理的示例代码是:
import numpy as np
import matplotlib.pylab as plt
x=[1,2,3,4]
y=[5,6,7,8]
line, = plt.plot(x,y,'-')
plt.show()
有谁知道行(line,=plt.plot(x,y,'-')
)后面的逗号是什么意思?我认为这是一个错字,但如果我省略逗号,显然整个代码都不起作用。
plt.plot
返回Line2D
绘制对象的列表,即使您只绘制一行。
该逗号将单个值解压缩到line
.
前任
a, b = [1, 2]
a, = [1, ]
该plot
方法以列表形式返回包含有关图中每条线的信息的对象。在 python 中,您可以用逗号扩展列表的元素。例如,如果你绘制两条线,你会这样做:
line1, line2 = plt.plot(x,y,'-',x,z,':')
whereline1
对应x,y
, line2 对应x,z
. 在您的示例中,只有一行,因此您需要逗号来告诉它展开一个 1 元素列表。你所拥有的相当于
line = plt.plot(x,y,'-')[0]
或者
line = ply.plot(x,y,'-')
line = line[0]
如果您省略逗号,您的代码应该可以工作,只是因为您没有使用line
. 在您的简单示例plt.plot(x,y,'-')
中就足够了。
该函数的返回值是一个包含一个项目的元组或列表,这种语法将元组/列表中的值“解包”到一个简单的变量中。