Matplotlib:在tim上叠加多个二维振颤图

2024-04-18 23:55:50 发布

您现在位置:Python中文网/ 问答频道 /正文

我有一些向量场,它们在2d空间中随时间变化。传统上,人们可以把矢量场的演化想象成一部二维电影,所有颤动的大小和角度都会随着时间而变化。在

明确地说,目前我有U和V两个形状(x,y,t),其中尺寸0和1是空间坐标,t是一个特定的时间片。我可以将特定时间的向量场可视化为:matplotlib.pyplot.quiver(U[:,:,i], V[:,:,i]),其中i是一个特定的时间索引。目前,我可以在一个for循环中对整个i进行迭代,以可视化这种演变。在

然而,我想在一个单一的二维图上直观地显示每个颤动图。为此,我想将每个索引i指定为与给定颜色映射不同的颜色。因此,来自特定时间点的所有颤动都显示为单一颜色。在

有人能建议一种方法吗?在

提前谢谢你!在


Tags: 电影matplotlib颜色可视化尺寸矢量时间空间
1条回答
网友
1楼 · 发布于 2024-04-18 23:55:50

你可以按照以下思路做一些事情:

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

相关问题 更多 >