我正在学习matplotlib。但我无法理解他们official page中的例子。
import numpy as np
import matplotlib.pyplot as plt
x = np.linspace(0, 10)
line, = plt.plot(x, np.sin(x), '--', linewidth=2)
dashes = [10, 5, 100, 5] # 10 points on, 5 off, 100 on, 5 off
line.set_dashes(dashes)
plt.show()
结果是
result http://matplotlib.org/_images/line_demo_dash_control.png
关于代码的问题是:
line, = plt.plot(x, np.sin(x), '--', linewidth=2)
""是什么意思?行后?
非常感谢病人!
答案 0 :(得分:2)
开始提出这些问题的好地方始终是文档。 Here's the docs for pyplot.plot()。请注意,大约一半时间说:
返回值是已添加的行列表。
因此,该示例使用line,
而不是line
来仅选择返回列表中的第一个元素(在这种情况下,它也恰好是唯一的元素)。你可以自己检查一下:
line, = plt.plot(x, np.sin(x), '--', linewidth=2)
type(line)
Out[59]: matplotlib.lines.Line2D
所以line
是一个Line2D对象。但是,当我们省略逗号时:
line = plt.plot(x, np.sin(x), '--', linewidth=2)
我们得到:
type(line)
Out[61]: list
line
Out[62]: [<matplotlib.lines.Line2D at 0x7f9a04060e10>]
因此,在这种情况下,line
实际上是一个包含一个Line2D对象的列表。
Here is the documentation for Line2D.set_dashes();看看是否能回答你的其他问题。
答案 1 :(得分:1)