python - Matplotlib:随时间叠加多个二维箭袋图

标签 python matplotlib

我有一些在二维空间和时间上变化的矢量场。按照惯例,人们可以将矢量场的演化想象成一部二维电影,其中所有箭袋的大小和角度都会随时间变化。

明确地说,目前我的 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()

enter image description here

关于python - Matplotlib:随时间叠加多个二维箭袋图,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/15593270/

相关文章:

Matplotlib:删除所有艺术家和台词

python - 在 matplotlib.pyplot 图中使用传递的轴对象?

python - groupby.apply() 的不一致行为

python - 通过 Python 实现 Spark 和 Cassandra

python - 定期查找具有最高列值的 n 行

python - 热图中的过渡线 - python

python - 如何在 matplotlib 3D 曲面图上突出显示切片?

python - 绘图中的彩色 LaTeX 标签

python - 我们如何为 pandas 数据框的列标题和行标题着色?

python - 异步生成器不是迭代器?