我有一些在二维空间和时间上变化的矢量场。按照惯例,人们可以将矢量场的演化想象成一部二维电影,其中所有箭袋的大小和角度都会随时间变化。
明确地说,目前我的 U 和 V 的形状均为 (x,y,t),其中 dims 0 和 1 是空间坐标,t 是特定的时间片。我可以将特定时间的矢量场可视化为:matplotlib.pyplot.quiver(U[:,:,i], V[:,:,i])
其中 i
是一个特定的时间索引。目前,我可以在遍历所有 i
的 for 循环中可视化这种演变。
但是,我想在单个二维图上及时可视化每个箭袋图。为此,我想将每个索引 i
指定为与给定颜色图不同的颜色。因此,特定时间点的所有箭袋都显示为单一颜色。
任何人都可以建议一种方法吗?
提前致谢!
最佳答案
你可以按照以下方式做一些事情:
from __future__ import division
import numpy as np
import matplotlib.pyplot as plt
U = np.random.rand(10, 10, 10) - 0.5
V = np.random.rand(10, 10, 10) - 0.5
cmap = plt.cm.jet
time_samples = U.shape[-1]
for t in xrange(time_samples):
plt.quiver(U[..., t], V[..., t], color=cmap(j/time_samples))
plt.show()
关于python - Matplotlib:随时间叠加多个二维箭袋图,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/15593270/