我看到了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语句,即使它是唯一返回的对象。我试着看一下,无法找到答案。有人可以帮助我掌握它吗?
感谢
答案 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]