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