我正在尝试使用pyplot / artistanimation绘制多个动画。我想同时绘制所有图,但似乎只绘制最后一个矩阵,而其他两个子图为空。 A,B和C是在update_grids步骤创建的相当大的矩阵(一定可以正常工作)-它们在每次迭代时都会更新。因此,最终图应为3个子图的图,其中动画(细胞自动机网格)显示所有3个矩阵的同时更新。
images = []
fig = plt.figure()
ax1 = fig.add_subplot(2,2,1)
ax2 = fig.add_subplot(2,2,2)
ax3 = fig.add_subplot(2,2,3)
for a in range(t):
A,B,C,AD,BD,CD,af,bf,cf = update_grids(A,B,C,AD,BD,CD,size,b)
ax1 = plt.imshow(A,interpolation='nearest',cmap='binary')
ax2 = plt.imshow(B,interpolation='nearest',cmap='binary')
ax3 = plt.imshow(C,interpolation='nearest',cmap='binary')
images.append([ax1,ax2,ax3])
a_freq.append(af/(np.sum(A)+np.sum(B)+np.sum(C)))
b_freq.append(bf/(np.sum(A)+np.sum(B)+np.sum(C)))
c_freq.append(cf/(np.sum(A)+np.sum(B)+np.sum(C)))
ani = anm.ArtistAnimation(fig,images,interval=250,repeat=False,blit=False)
plt.show()