在python中设置Colormesh绘图的动画

在python中设置Colormesh绘图的动画,python,animation,matplotlib,Python,Animation,Matplotlib,在这里,我制作了一个简单的程序,它通过从矩阵(NxN)“config”中获取值来填充二维网格,该矩阵的随机值为(-1到1)。 我希望此绘图设置动画,以便在更新矩阵中的这些值时,绘图得到更新。 我已经看到了一些动画代码,但它们不是我正在寻找的。 有人能给我指一下正确的方向吗。 多谢各位 import numpy as np from numpy.random import rand import matplotlib.pyplot as plt import matplotlib.animatio

在这里,我制作了一个简单的程序,它通过从矩阵(NxN)“config”中获取值来填充二维网格,该矩阵的随机值为(-1到1)。 我希望此绘图设置动画,以便在更新矩阵中的这些值时,绘图得到更新。 我已经看到了一些动画代码,但它们不是我正在寻找的。 有人能给我指一下正确的方向吗。 多谢各位

import numpy as np
from numpy.random import rand
import matplotlib.pyplot as plt
import matplotlib.animation as animation

f = plt.figure(figsize=(15, 15), dpi=80);
N=10
n_=1
i=1

config = 2*np.random.uniform(2, size=(N,N))-3
print(config)

X, Y = np.meshgrid(range(N), range(N))
#print(X)

plt.pcolormesh(X, Y, config, cmap=plt.cm.RdBu);
plt.title('Time=%d' % i);
plt.axis('tight')
plt.show()

我们可以使用(TxNxN)生成一个新的矩阵/张量“animate_grid”,即每个时间步长T的更新值(任何值甚至随机)的NxN矩阵。 范例

 T=0 
[[-0.244608 -0.71395497 -0.36534627]  
[-0.44626849 -0.82385746 -0.74654582]
[ 0.38240205 -0.58970239  0.67858516]]
T=1
[[-0.46084 -0.3413957 -0.3453345627]
[-0.43626849 -0.6385746 -0.4654582]
[ 0.8240205 -0.8970239  0.37858516]]
T=2 
[[-0.4546084 -0.9565497 -0.534627]
[-0.2546849 -0.8345746 -0.465654582]
[ 0.4460205 -0.4660239  0.6858516]]

等等等等。

动画将与任何其他情况下一样工作。您需要一个更新绘图的函数和一个定期调用此更新函数的
FuncAnimation
实例

import numpy as np
import matplotlib.pyplot as plt
import matplotlib.animation as animation
N=10
T=17
config = np.random.rand(T, N,N)
X, Y = np.meshgrid(range(N+1), range(N+1))

fig = plt.figure(figsize=(5, 5), dpi=80)
plt.pcolormesh(X, Y, config[0,:,:], cmap=plt.cm.RdBu)
plt.title('Time=%d' % 0)

def update(i):
    plt.pcolormesh(X, Y, config[i,:,:], cmap=plt.cm.RdBu)
    plt.title('Time=%d' % i)

ani = animation.FuncAnimation(fig, update, frames=config.shape[0], 
                              interval = 100, repeat = True)

plt.show()

您能否更详细地解释一下,哪些其他答案对您没有帮助,以及在多大程度上没有帮助?您能更详细地解释一下您希望代码产生什么吗?您将如何更改矩阵?请回答您的问题。我们可以使用(TxNxN)制作一个新的矩阵/张量“动画网格”(animate_grid),即每个时间步T的更新值(任何值甚至是随机值)的NxN矩阵。谢谢!!!这正是我想要的。非常感谢你。