【问题标题】:Using of "line," in matplotlib [duplicate]在 matplotlib 中使用“线”[重复]
【发布时间】:2018-01-01 15:33:38
【问题描述】:

我不明白以下脚本中“line”一词后逗号的用途。

import matplotlib.pyplot as plt
x = [0,1]
y = [0,1]
line, = plt.plot(x, y)
plt.show()

我曾尝试在official documentation website 中理解它,但没有成功

【问题讨论】:

  • @cdarke 是正确的。我不确定为什么 plot 方法返回任何值,也许是为了得到插值的结果。

标签: python matplotlib


【解决方案1】:

赋值左侧的逗号创建一个元组。例如:

a, b = [123, 456]

a 将引用 123,b 将引用 456。

matplotlib.pyplot.plot 返回已添加的行列表(作为Line2D 对象)。

在您的情况下,plt.plot(x, y) 返回单个元素列表,因为它只添加一行,但创建元组仍需要逗号:

line, = plt.plot(x, y)

将从返回的列表中获取第一个元素。如果有多个元素,则分配将失败并显示too many values to unpack。如果省略逗号,则 line 变为 list 而不是单个 Line2D 对象。

大多数人会这样写:

line = plt.plot(x, y)[0]

即对返回的列表进行索引。如果有多个元素,那么这不会失败,但有时失败是好的——这取决于你需要什么。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2021-12-10
    • 2018-05-21
    • 2017-12-12
    • 2017-02-12
    • 1970-01-01
    • 1970-01-01
    • 2020-01-23
    相关资源
    最近更新 更多