在动画之前实现时使用python-using逗号

时间:2016-01-03 22:23:51

标签: python animation matplotlib

我看到了double_pendulum的精彩示例,以便开始使用matplotlib动画。 这是代码的一部分:

fig = plt.figure()
ax=fig.add_subplot(111,aspect='equal',autoscale_on=True)
ax.grid()

line, = ax.plot([], [], 'b-', lw=2)
time_text = ax.text(0.02, 0.95, '', transform=ax.transAxes)
energy_text = ax.text(0.02, 0.90, '', transform=ax.transAxes)

我想问他为什么在将ax.plot实现到行时使用逗号。 当我使用类似的代码时,我还需要使用line作为init函数的return语句,即使它是唯一返回的对象。我试着看一下,无法找到答案。有人可以帮助我掌握它吗?

感谢

2 个答案:

答案 0 :(得分:0)

在这种情况下,

ax.plot([], [], 'b-', lw=2)返回一个1元素列表,在分配时将其解压缩。没有逗号

line = x.plot([], [], 'b-', lw=2)

line将是列表而不是该列表的单个元素。

它基本上类似于:

a, b = (1, 2)

其中a分配1,b分配2。

答案 1 :(得分:0)

ax.plot会返回添加到图中的行的列表。由于您只添加一行,ax.plot会返回包含一行的列表。 line, =使用Python解包语法将该单行拉出列表。它相当于写作

line = ax.plot(...)[0]