在我的特定情况下,此错误“ ValueError:'顶点'必须是形状为Nx2的2D列表或数组”的可能原因是什么?

时间:2019-07-16 19:48:27

标签: python animation jquery-animate

我为一维元胞自动机创建了一个动画,模拟交通流。动画的目标是拍摄此图像的每一行: (https://i.imgur.com/Oe2GhsW.png

并逐行绘制,以查看“车辆”的运动方式。我想远离imshow,因为我需要的两点之间没有间距,我可以用这种方式来处理标记样式。

我已选择使用散点图,但我一直在努力使事物进行动画处理。上图中绘制的数组的类型为Float64,大小为(50,50),下面的节点是我用来绘制动画的对象。

In[1]:a
Out[1]: 
array([[0., 1., 1., ..., 0., 0., 1.],
       [1., 1., 1., ..., 0., 0., 0.],
       [1., 1., 1., ..., 0., 1., 0.],
       ...,
       [1., 1., 1., ..., 1., 1., 1.],
       [1., 1., 1., ..., 1., 1., 1.],
       [1., 1., 1., ..., 1., 1., 1.]])
fig3, ax3 = plt.subplots()
scat = plt.scatter(range(L), a[0], marker = ">")
fig3.set_figheight(1)
fig3.set_figwidth(10)
ax3.set_ylim(1,1)
ax3.axes.get_yaxis().set_visible(False)
ax3.set_xlabel("Space")
plt.show()

i=0
def updatefig2(*args):
    global i
    if (i<n_iters-1):
        i += 1
    else:
        i=0
    scat.set_offsets(a[i])
    return scat,

Writer = animation.writers['ffmpeg']
writer = Writer(fps=2, metadata=dict(artist='luke'), bitrate=3600)
ani2 = animation.FuncAnimation(fig3, updatefig2, blit=True)
ani2.save('im2.mp4', writer=writer)
plt.show

运行代码后出现错误;

  

ValueError:“顶点”必须是形状为Nx2的2D列表或数组

但是在删除行时不会发生这种情况; ani2.save('im2.mp4', writer=writer)

我将非常感谢您的帮助。

0 个答案:

没有答案